Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中声明一个新数组,其大小为var_Javascript_Arrays_Var - Fatal编程技术网

在JavaScript中声明一个新数组,其大小为var

在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]

对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]
@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