使用 .fill() 将 .push() 值转换为 JavaScript 数组 (n) 次?

art*_*son 2 javascript arrays

是否可以在不使用传统循环执行复制的情况下.push()将值复制到数组但复制推送的值n时间?例如使用.fill(). 我看到的例子声明了new Array()一个长度为n.fill()它有一个值。但是,我还没有看到任何处理 的例子.push(),所以我什至不确定这是否可能。

我正在寻找的示例:

var my_array = [];
for (var i = 0; i < 5; i++) {
    my_array.push(5);
};
Run Code Online (Sandbox Code Playgroud)

设想:

我正在从三个不同的数组或对象中提取值以填充将通过 Munkres(匈牙利)算法运行的单个矩阵,以避免引入另一个循环我想将.push值添加到矩阵并用于.fill()重复值n时间.

例子:

var s = […];
var a = […];
var p = […];

var matrix = [];
for (var i = 0; i < s.length; i++) {
    var preferences = [];
    for (var j = 0; j < p.length; j++ {
        var pid = p[j];
        for (var k = 0; k < a.length; k++ {
            if (pid == a[k]) {
                for (var l = 0; l < 5; l++) {  // <-- THIS.
                    preferences.push(a[k]);
                };
            };
        };
    };
    matrix.push(preferences);
};
Run Code Online (Sandbox Code Playgroud)

Jac*_*ord 7

你可以使用concatfill

preferences = preferences.concat(Array(5).fill(a[k]));
Run Code Online (Sandbox Code Playgroud)