2014-09-24 92 views
1

JavaScript數組或ArrayList中是否存在對Java的ensureCapacity的等效方法?我將包含此方法的某些Java代碼翻譯成Javascript,並且找不到與它相當的任何等效內容。 在此先感謝ArrayList.ensureCapacity等效於Javascript

+0

沒有,沒有正式的一個,但引擎是很聰明呢。他們中的一些人在分配一個'.length'時有一個預先分配內存的優化,但沒有多大區別。 – Bergi 2014-09-24 13:59:14

回答

1

它可以初始化特定大小的數組:

var array = new Array(n); 

如果陣列已經初始化,你可以像在評論中提到的,使用設定的數組的長度length屬性:

array.length = n; 

然而,性能提升,如果有的話,似乎negligble。 Here is a thread discussing this

+1

並通過'array.length'設置它。 – CodingIntrigue 2014-09-24 11:58:48

+0

因此,例如,如果我以這種方式使用它:public Path(int initialCapacity) { tsIindexes.ensureCapacity(initialCapacity); tsJindexes.ensureCapacity(initialCapacity); }會設置它的長度與此處所做的相同嗎? – elbereth 2014-09-24 13:32:57

+0

是的,它會的。但如前所述,這可能沒有必要。 – 2014-09-24 13:48:05

0

var fruits = ['apple', 'pineapple']; 
 
console.log(fruits.length, fruits);//2 ["apple", "pineapple"] 
 
fruits.length = fruits.length + 4; //increase by 4 
 
console.log(fruits.length, fruits);//6 ["apple", "pineapple"]
Open console for more ...