當涉及到遍歷所有元素時,會更快嗎?大數組vs較小的對象數組
方法1:
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]);
}
VS
方法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?
}
我的猜測是,我們與快,但你們可能有更多的英特爾v8,spidermonkey和所有這些也許是對象的手ling和更小的陣列最終會更快?
爲什麼不使用'Date.now()'來親自看看? – PHPglue
方法1應該更快,但方法2是更好的方式來組織您正在使用的數據。 –
我不認爲訪問對象屬性這種或那種方式會在2016年發生重大變化。我期望兩者在性能方面都做同樣的事情。 – Redu