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

Transform array into fast object lookup

本文关键字:对象 查找 数组 转换      更新时间:2023-09-26
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;
}