创建重复多次的相同元素的数组

2022-08-29 23:02:27

在 Python 中,其中是一个列表,以下代码给出了此输出:[2]

[2] * 5 # Outputs: [2,2,2,2,2]

有没有一种简单的方法可以用JavaScript中的数组来做到这一点?

我编写了以下函数来执行此操作,但是是否有更短或更好的东西?

var repeatelem = function(elem, n){
    // returns an array with element elem repeated n times.
    var arr = [];

    for (var i = 0; i <= n; i++) {
        arr = arr.concat(elem);
    };

    return arr;
};

答案 1

在 ES6 中使用数组填充() 方法

console.log(
  Array(5).fill(2)
)
//=> [2, 2, 2, 2, 2]

答案 2
>>> Array.apply(null, Array(10)).map(function(){return 5})
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
>>> //Or in ES6
>>> [...Array(10)].map((_, i) => 5)
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]