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

当前回答

另一个一行程序:

Array.prototype.map.call([]+Array(5+1),function(){ return '2'; })

其他回答

另一个一行程序:

Array.prototype.map.call([]+Array(5+1),function(){ return '2'; })

这可能是另一个答案。

让卡=(“一个”、“2”、“3”、“4”、“5”、“6”、“7”、“8”,“9”,“10”、“J”,“问”、“K”);

let totalCards =[…]卡,…卡,…卡,……卡);

您可以使用spreadoperator和map()函数创建一个数组,该数组多次重复相同的元素。

function fillArray(value,len){
       return [...Array(len).keys()].map(x=> value);
   }

在ES6中使用Array fill()方法

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

改进了Vivek的答案,这适用于任何长度的字符串,填充一个长度为n的数组:array (n+1)。Join('[要重复的字符串][separator]').split('[separator]')。片(0,n)