Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将数组转换为快速对象查找_Javascript_Jquery - Fatal编程技术网

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

Javascript 将数组转换为快速对象查找,javascript,jquery,Javascript,Jquery,上面的例子有更有效的版本吗?可能使用$.map或$.extend?而不是调用分析参数的函数,然后执行调用函数的循环,只需执行一个循环: var seen = {}; $.each([6,7,11], function(i,v){ seen[v] = 1; }); // console.log(seen); jsperf证实了它的效率更高:可能一个好的旧循环比调用一个函数更有效,该函数分析参数,然后运行一个调用函数的循环。您也可以阅读jQuery文档-尝试一些东西,让我们知道它是如何运行的,然

上面的例子有更有效的版本吗?可能使用
$.map
$.extend

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

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

// console.log(seen);

jsperf证实了它的效率更高:

可能一个好的旧循环比调用一个函数更有效,该函数分析参数,然后运行一个调用函数的循环。您也可以阅读jQuery文档-尝试一些东西,让我们知道它是如何运行的,然后我们可以提供更多帮助<代码>映射似乎只返回一个array@Ian我已经找到了,但什么也没找到helpful@mpapec所以,展示你所尝试过的。如果你什么都没试过,试试看。你应该了解这个库及其方法,而不是盲目地问一个问题让我们帮你弄明白。我认为香草JavaScript总是更快:)尽管能够在jQuery对象上使用
每个
都很好
$。每个
通常都非常方便,特别是当你必须与IE8兼容时,但是效率并不是它的强项之一。我一点也不反对jQuery,但当人们开始在不必要的情况下使用jQuery时,真的很烦人,因为他们可以…@dystroy说得很好:)你说的“与IE8兼容”是什么意思?什么在IE8中不起作用?他说的是使用JavaScript1.6中定义的“forEach”方法,IE8可能不支持这种方法。
for (var i=arr.length; i-->0;) seen[arr[i]]=1;
var i = arr.length
while (i--) {
  seen[arr[i]]=1;
}