我正在尝试使用以下原型来fill
一个整数为1-100的空数组。根据MDN的文档:
array.prototype.fill(value, [optional start & end index])
如果我的理解是正确的,如果我打电话给value = 1
,那么如果我说:
[5].fill(1);
我将留下一个数组,其中1个坐在阵列的所有5个索引点上。有没有办法使用.fill()
来说value = 1...100
?我开始认为运行for循环到push
值1 - 100可能是唯一的方法,但我想我会看看这种方法是否有效。
答案 0 :(得分:1)
否,fill方法,不会将函数或迭代器作为参数来更改每次迭代的静态值。
尝试这种方法
var N = 100;
var arr = Array.apply(null, {length: N+1}).map(Number.call, Number);
arr.splice(0,1);
console.log(arr);
最后
splice
删除数组中0
的第一项。
如果您不想splice
var N = 100;
var arr = Array.apply(null, {length: N}).map(Number.call, function(item, index){ return item + 1 });
console.log(arr);
提到了一些其他好的方法in this answer来动态填充值。
答案 1 :(得分:0)
fill()方法使用 static 值将数组的所有元素从起始索引填充到结束索引。
因此,无法使用fill()
方法增加此值。