gpt4 book ai didi

javascript - 大数组与小数组的对象

转载 作者:行者123 更新时间:2023-11-28 18:21:57 25 4
gpt4 key购买 nike

当迭代所有元素时,什么会更快?

方法一:

let array = [10, 0, 0, 20, 1, 0, 12, 2, 0];

for(let i = 0, l = array.length; i < l; i += 3) {
doSomething(array[i], array[i + 1], array[i + 2]);
}

对比

方法2:

let array = [{id:10, x:0, y:0}, {id:20, x:1, y:0}, {id:12, x:2, y:0}];

for(let i = 0, l = array.length, current = null; i < l; ++i) {
current = array[i];
doSomething(current.id, current.x, current.y);
// i'm aware that we could make doSomething work with the object
// -> even a thing to consider?
}

我的猜测是,1 的速度更快,但是你们可能有更多关于 v8、spidermonkey 等的信息,所以也许对象处理和较小的数组最终会更快?

最佳答案

两者都是O(n)。别的都无所谓。甚至它们的内存消耗也只有很小的差异。当你认为这对性能至关重要时,你可以自己做一个基准测试,但是it most likely isn't .

使用对象是因为它们为您的数据提供了清晰的结构并使您的代码更具可读性。是的,您应该考虑将这样的对象传递给 doSomething

关于javascript - 大数组与小数组的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39757829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com