您好我想在JS中使用5个零元素初始化Array。没有经典initiation var arr = [0, 0, 0, 0, 0]
我尝试了一些变体:
var arr = new Array(5).map(() => 0);
var arr = new Array(5).map(function () {return 0;});
var arr = Array(5).map(function () {return 0;});
但这个例子不起作用。
答案 0 :(得分:1)
使用.fill
:
const arr = new Array(5).fill(0);
console.log(arr);
或Array.from
,它有一个内置的地图功能,你可以作为第二个参数传递:
const arr = Array.from({ length: 5 }, () => 0);
console.log(arr);
请参阅MDN:
map按顺序为数组中的每个元素调用一次提供的回调函数,并从结果中构造一个新数组。仅对已分配值的数组的索引(包括undefined)调用回调。它不会被调用缺少数组的元素(即,从未设置过的索引,已删除的索引或从未赋值的索引)。
如上所述使用Array.from
会将未定义的值分配给数组的每个元素,而new Array
则不会,这就是map
Array.from
之后的原因location.search
1}}但不是在调用Array构造函数之后。
答案 1 :(得分:0)
您需要在初始化时使用方法填充数组。
示例:
var arr = new Array(5).fill(0);
答案 2 :(得分:0)
愿for循环可以帮到你吗?
For(i=0; i<N; i++){
array[i]=value;
}
对于5长度为0的数组,它变为
for(i=0; i<5; i++){
array[i]=0;
}