我正在开发网络XMPP聊天。在检索Roster之后,我将人们的信息放入对象数组,但在将对象推送到数组之前,我必须检查它在该数组上的先前存在,并且它非常慢,因为它使算术系列的总计数运算是前。 820为40个联系人,这个数字不会让我开心。我的问题是:在这种情况下,搜索方法是否有可能进行优化?
我知道还有其他线程,但优化没有任何内容。
答案 0 :(得分:1)
同时使用数组和对象。
var info_array = [];
var info_object = {};
然后当你得到一个新的info
时,请执行:
if (!info_object[info.name]) {
info_array.push(info);
info_object[info.name] = info;
}
现在,您可以迭代info_array
,或使用info_object
快速按名称访问它们。