【问题标题】:ArrayList.ensureCapacity equivalent in JavascriptArrayList.ensureCapacity 等价于 Javascript
【发布时间】:2014-09-24 11:51:02
【问题描述】:

Javascript 数组或 ArrayList 中是否有与 Java 的 ensureCapacity 等效的方法?我正在将包含此方法的某个 Java 代码翻译成 Javascript,但找不到任何与之等效的代码。 提前致谢

【问题讨论】:

  • 不,没有官方的,但无论如何引擎都很聪明。其中一些优化了在分配.length 时预分配内存,但这并没有太大区别。

标签: java javascript


【解决方案1】:

可以初始化一个特定大小的数组:

var array = new Array(n);

如果您的数组已经初始化,您可以如 cmets 中所述,使用 length 属性设置数组的长度:

array.length = n;

但是,性能提升(如果有的话)似乎微不足道。 Here is a thread discussing this.

【讨论】:

  • 也可以通过array.length进行设置
  • 因此,例如,如果我这样使用它: public Path(int initialCapacity) { tsIindexes.ensureCapacity(initialCapacity); tsJindexes.ensureCapacity(initialCapacity); } 将它的长度设置为与此处所做的相同吗?
  • 是的,会的。但如前所述,可能没有必要。
【解决方案2】:

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 ...

【讨论】:

    猜你喜欢
    • 2023-04-11
    • 2010-10-11
    • 2014-01-04
    • 2011-05-29
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多