我必须使用ajax处理从服务器检索到的大量数据并将其存储在JavaScript中。我目前正在使用数组来存储所有数据。这是我获取数据并将其存储在javascript中的方式:
var buffer=new Array();
//when each ajax returns
buffer=buffer.concat(JSON.parse(ajaxReq.responseText));
我脑子里有两个问题:
concat
表现如何?怎么能在这里优化?感谢任何意见。
答案 0 :(得分:8)
我知道,我冒了一个downvote,但是:"唯一有效的答案是:如何在JavaScript中存储100万行"是"不是。"
答案 1 :(得分:3)
看起来您正在每个页面加载时将整个数据库转储到客户端上,因此在特定页面加载时,他可能需要或不必等待快速的ajax响应。到目前为止,这是我听过的最疯狂的事情,希望你能够很好地看到它。
即使您的用户不必等待实际上花费很长时间的小ajax调用(请查看google autosuggest),也必须让他们等待100万个数据库行传输并在每个页面加载内存中加载用户体验更差。
如果您的数据适合localStorage(5MB),那么您所做的只是可行的,而这可能不适用。