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

// console.log(seen);

上面的例子有更有效的版本吗?也许使用$.mapor $.extend

4

2 回答 2

3

无需调用分析参数的函数,然后执行调用函数的循环,只需执行循环:

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

jsperf 确认它的效率更高:http: //jsperf.com/each-or-for666

于 2013-07-03T15:09:23.310 回答
2
var i = arr.length
while (i--) {
  seen[arr[i]]=1;
}
于 2013-07-03T15:10:50.613 回答