在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;
};

当前回答

试试这个:

"avinash ".repeat(5).trim().split(" ");

其他回答

如果需要重复一个数组,请使用下面的方法。

Array(3).fill(['a','b','c']).flat() 

将返回

Array(9) [ "a", "b", "c", "a", "b", "c", "a", "b", "c" ]

Array.from({length:5}, i => 1) // [1,1,1,1,1]

或者创建值递增的数组

Array.from({长度:5}、(e, i) = >我)/ /[0、1、2、3、4)

如果你需要多次重复一个数组:

var arrayA = ['a','b','c'];
var repeats = 3;
var arrayB = Array.apply(null, {length: repeats * arrayA.length})
        .map(function(e,i){return arrayA[i % arrayA.length]});
// result: arrayB = ['a','b','c','a','b','c','a','b','c']

受到这个答案的启发

试试这个:

"avinash ".repeat(5).trim().split(" ");

没有更简单的方法了。您需要创建一个循环并将元素推入数组。