有没有办法确定要在javascript数组中推送的值的数量?

有没有办法确定要在javascript数组中推送的值的数量?,javascript,Javascript,我一直在尝试将相同的vec4颜色添加到已经存在的数组中,但我想添加n个相同颜色的实例。例如,我创建了一个数组,其中包含36个相同颜色的值: var colours = new Array(36).fill(vec4( 0.01,0.43,0.79,1.0 )); 现在,我想将另一个颜色值36次添加到相同的现有数组中 colours.push(vec4( 0.01,0.43,0.79,1.0 )); 这只是插入我想要的值的一个实例,但我想添加其中的36个。有没有办法将36个值推送到一起,而不是

我一直在尝试将相同的vec4颜色添加到已经存在的数组中,但我想添加n个相同颜色的实例。例如,我创建了一个数组,其中包含36个相同颜色的值:

var colours = new Array(36).fill(vec4( 0.01,0.43,0.79,1.0 ));
现在,我想将另一个颜色值36次添加到相同的现有数组中

colours.push(vec4( 0.01,0.43,0.79,1.0 ));

这只是插入我想要的值的一个实例,但我想添加其中的36个。有没有办法将36个值推送到一起,而不是写入多个推送行?

使用
..
语法将新数组扩展到多个参数中

colours.push(...new Array(36).fill(vec4( 0.01,0.43,0.79,1.0 )))
或者使用
concat()
方法:

colours = colours.concat(new Array(36).fill(vec4( 0.01,0.43,0.79,1.0 )));

第二种方法创建一个新数组,而不是推入现有数组。

您可以在for循环中执行此操作

colours.push(vec4( 0.01,0.43,0.79,1.0 ));
for (var i=0; i<36;i++){
   colours.push(vec4( 0.01,0.43,0.79,1.0 ));
}

for(var i=0;i仅用于添加,而您可以这样做

colours.push(...new Array(36).fill(vec4( 0.01,0.43,0.79,1.0 )))
在这两种情况下,最初的

var colours = new Array(36).fill(vec4( 0.01,0.43,0.79,1.0 ));
代码又增加了36个,他们没有增加36个vec4,而是增加了36次1个vec4

例如:

const vec4=(…args)=>args;
常量颜色=新数组(4)。填充(向量4(1,2,3,4));
console.log(colors.flat().join(',');
颜色[0][0]=789;

console.log(colors.flat().join(',);
for循环运行36次?