簡體   English   中英

在Java中預定義數組長度

[英]Predefining Array Length in Javascript

將項目推入該數組時,預定義Javascript數組的長度是否有性能提升?

例如,假設您正在執行此操作:

var item1 = "apple",
    item2 = "orange",
    item3 = "sports car"; // Because I said so, that's why.

var myArray = [];  // Empty array with initial length of 0

myArray.push(item1);
console.log(myArray.length) // 1

myArray.push(item2);
console.log(myArray.length) // 2

myArray.push(item3);
console.log(myArray.length) // 3

在上面的代碼中,每次推送都會重新計算myArray的長度。 另外;

var item1 = "apple",
item2 = "orange",
item3 = "sports car";

var myArray = Array(3) // Assume we already know exactly how many items will be added
myArray[0] = item1;
console.log(myArray.length) // 3

myArray[1] = item2;
console.log(myArray.length) // 3

myArray[2] = item3;
console.log(myArray.length) // 3

我的問題是,當您為數組中預先存在的插槽顯式分配一個值時,該數組的length屬性仍會重新評估。 如果不是,回避該過程是否會加快陣列填充速度?

不用說,這更多是理論上的練習,而不是實際的實際問題。

根據此JSPerf ,預定義長度快得多。

應該注意的是, new Array()語法未完全視為最佳實踐。 如果您絕對需要壓縮性能的每一點,請考慮一下。 否則,使您和所有接觸您的代碼的開發人員都變得輕松,使用[]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM