在JavaScript中创建单个值数组

Imr*_*hsh 29 javascript arrays

为什么以下代码显示undefined?我们不允许创建具有单个值的数组吗?放置两个值不会显示此错误.这是Javascript的问题吗?

<script>
var tech = new Array(21);
alert(tech[0]);
</script>
Run Code Online (Sandbox Code Playgroud)

Rob*_*b W 48

new Array(21)创建一个长度为21的数组.如果要创建一个由数字组成的单值数组,请使用方括号[21]:

var tech = [ 21 ];
alert(tech[0]);
Run Code Online (Sandbox Code Playgroud)

如果要动态填充数组,请使用以下.push方法:

var filler = [];
for(var i=0; i<5; i++){
    filler.push(i); //Example, pushing 5 integers in an array
}
//Filler is now equivalent to: [0, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

当Array构造函数接收一个参数p(一个正数)时,将创建一个由p个元素组成的数组.此功能可用于重复字符串,例如:

var repeat = new Array(10);
repeat = repeat.join("To repeat"); //Repeat the string 9x
Run Code Online (Sandbox Code Playgroud)


zvo*_*ona 7

通过new Array(21),您实际上正在创建一个包含21个元素的数组.

如果你想创建一个单值为'21'的数组,那么它是:

var tech = [21];
alert(tech[0]);
Run Code Online (Sandbox Code Playgroud)


DIL*_*MAS 7

您可以使用Array.of创建一个带有值的数组

let arr = Array.of(8)
console.log(arr)
Run Code Online (Sandbox Code Playgroud)