将数组转换为快速对象查找
Transform array into fast object lookup
var seen = {};
$.each([6,7,11], function(i,v){ seen[v] = 1; });
// console.log(seen);
上面的例子有更有效的版本吗?也许使用$.map
或$.extend
?
与其调用分析参数的函数,然后执行调用函数的循环,不如简单地执行一个循环:
for (var i=arr.length; i-->0;) seen[arr[i]]=1;
JSperf证实它更有效率:http://jsperf.com/each-or-for666
var i = arr.length
while (i--) {
seen[arr[i]]=1;
}
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在对象数组中查找多个值的d3范围
- Javascript:根据对象的嵌套数组中的值,在数组中查找对象的索引
- 如何从数组中查找唯一对象
- 使用lodash查找具有truthy值的JS对象的属性
- 正在数组中查找对象
- 在prototypejs中查找对象的类
- Undercore:查找数组中出现频率最高的对象
- 通过知道对象的id在JSON中查找对象
- 查找关键字并创建新对象
- Javascript在JSON中查找对象(我使用Angular)
- 查找对象数组是否包含其中一个标记的最快方法
- 查找数组's按属性不存在于另一个数组中的对象
- JSON.parse 返回 [对象对象] 查找访问对象的属性
- 角度指令与对象查找的双向绑定
- 将数组转换为快速对象查找
- jQuery对象查找只在一个子对象上失败
- Javascript嵌套对象查找,从字符串,没有eval
- RegExp对象查找和替换不起作用
- 如何使用保存的 jQuery 对象查找后代