我正在尝试使用以下原型(prototype)用 1-100 之间的整数填充
一个空数组。根据 MDN 的文档:
array.prototype.fill(value, [可选的开始和结束索引])
如果我的理解是正确的,如果我调用我的value = 1
,那么如果我说:
[5].fill(1);
我将留下一个数组,其中 1 位于数组的所有 5 个索引点处。有没有办法使用 .fill()
来表示 value = 1...100
?我开始认为运行 for 循环来 push
值 1 - 100 可能是实现此目的的唯一方法,但我想看看这个方法是否同样有效。
最佳答案
否,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
。
如果您不想进行拼接
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动态填充值。
关于javascript - 使用 array.prototype.fill 而不是 array.prototype.push,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39878650/