javascript - 使用 array.prototype.fill 而不是 array.prototype.push

标签 javascript arrays

我正在尝试使用以下原型(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/

相关文章:

javascript - Highcharts 3D 散点不在工具提示中显示名称

java - 数组-数组按值索引

arrays - 计算 Int Optionals 数组中空值的数量

java - 数组中 N 个元素的绝对差的最大和

javascript - 如何使用 jQuery 更改与类条件匹配的直接 img 同级元素的 CSS

javascript - getIn 与 Formik 的作用是什么?

javascript 代码不适用于 html 脚本

javascript - 三种js更新纹理生成Canvas的最佳性能方式

java - 将文本添加到打印数组中?

JavaScript:编写函数,将一个对象和一个函数数组作为输入参数并返回一个数组