2014-09-24 86 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 ...