将数组转换为快速对象查找

时间:2013-07-03 15:03:00

标签: javascript jquery

var seen = {};
$.each([6,7,11], function(i,v){ seen[v] = 1; });

// console.log(seen);

以上示例是否有更高效的版本?也许使用$.map$.extend

2 个答案:

答案 0 :(得分:3)

不是调用分析参数的函数,而是执行一个调用函数的循环,只需执行一个循环:

for (var i=arr.length; i-->0;) seen[arr[i]]=1;

jsperf证实它效率更高:http://jsperf.com/each-or-for666

答案 1 :(得分:2)

var i = arr.length
while (i--) {
  seen[arr[i]]=1;
}