是否有可能使用.fill()
来重复新添加的数组元素,而不是使用传统循环来执行复制?例如,使用.fill()
。我看到的示例都是声明一个长度为n
的new Array()
,然后用一个值来填充它。但是,我没有看到任何处理.push()
的示例,因此我甚至不确定是否可能。
我想要的示例:
var my_array = [];
for (var i = 0; i < 5; i++) {
my_array.push(5);
};
场景:
我正在从三个不同的数组或对象中提取值来填充一个单矩阵,该矩阵将通过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);
};
fill
,但不需要使用push
-push
返回数组的新长度。 - Jack Bashford.push()
到“preferences”数组中,那么结果将是[[ ],[ ],[ ]]
。 - artomason