0

将大数组中的元素复制到另一个对象或使用引用是否更快?使用大数组中的item的引用时,是不是必须遍历数组才能得到呢?

var obj = HugeArray[54650];
var calc = obj.x * 2.43 + obj.y * 5.43 + obj.z * 4.323;

或者

var obj = $.extend(true, {}, HugeArray[54650]);
var calc = obj.x * 2.43 + obj.y * 5.43 + obj.z * 4.323;

谢谢。

4

3 回答 3

3

JavaScript中,ArrayObject的一种类型。因此,查找arr[x]与查找相同obj[x],因为大多数JavaScript引擎都使用哈希表,所以速度非常快,即使添加更多键也不会显着减少。

此处为属性与变量的性能

于 2013-08-27T17:29:54.017 回答
0

当你使用一个键时,你实际上是在访问一个指针。指针指向(嘿)值的位置(在内存中)。这是从数组访问数据的最快方式。循环总是较慢。

$.extend虽然我不熟悉方法

于 2013-08-27T17:29:42.607 回答
0
obj = HugeArray[54650];

不是“数组中”项的引用,而是从现在开始obj直接引用对象。

没有理由用 复制该项目$.extend,这只会使您的脚本变慢。

于 2013-08-27T17:38:15.323 回答