在JavaScript中声明一个新数组,其大小为var
对JS完全陌生,但需要使用它 在C语言中,我可以通过以下方式声明新数组:在JavaScript中声明一个新数组,其大小为var,javascript,arrays,var,Javascript,Arrays,Var,对JS完全陌生,但需要使用它 在C语言中,我可以通过以下方式声明新数组:inta[10],B[A] 这样我就可以创建自定义大小的变量数组 JavaScript也可以这样做吗?我需要创建一个变量大小的数组。 我试着做这样的事情:var n=10;var A=新数组(n)但它就是不起作用。 谢谢。或者 Array(n) 或 但仍然有可能推出新产品 let arr = Array(5) // [empty x 5] arr[25] = 10 // [empty x 25, 10]
inta[10],B[A]代码>
这样我就可以创建自定义大小的变量数组
JavaScript也可以这样做吗?我需要创建一个变量大小的数组。
我试着做这样的事情:var n=10;var A=新数组(n)代码>但它就是不起作用。
谢谢。或者
Array(n)
或
但仍然有可能推出新产品
let arr = Array(5) // [empty x 5]
arr[25] = 10 // [empty x 25, 10]
@Thomas建议的性能方面的Array(n).fill()
比Array.from({length:n})
快得多
测量:
Array(500) // 0.009999959729611874. But it's sparse.
Array.from({length: 500}) // 0.0850000069476664
Array(500).fill(undefined) // 0.01999997766688466
你说“它不起作用”是什么意思newarray(n)
肯定会创建一个带有n
插槽的数组。在JavaScript中这样做没有什么意义,因为数组与C中的数组大不相同。使用newarray(10)创建的数组
可以容纳100或1000个元素。@Pointy所说的也是正确的-通常预先分配一个数组或多或少是无用的。数组有点用词不当,在JavaScript中它们是动态分配的。有一个预先分配的大小是有用的,只有在一手的情况下,是在边缘的事情。创建给定大小数组的代码并不完全错误,但通常不需要这样做。@Pointy,我很好奇,这有什么用处?(似乎不符合逻辑)@Maggiorana我知道你想要一个int数组,请查看var A=new Int32Array(10)
和array。from()
速度很慢,因为它必须对传递的参数非常灵活,但至少返回的数组不是稀疏的。但是Array(n).fill()
在我看来还是更好的。谢谢,添加到答案中。
Array(500) // 0.009999959729611874. But it's sparse.
Array.from({length: 500}) // 0.0850000069476664
Array(500).fill(undefined) // 0.01999997766688466