forEach 循环为数组中的变量分配新值不会替换变量的值



>我正在尝试使用 forEach 循环遍历一个包含三个变量的数组,并将每个变量的值更改为 0-255 之间的随机数。

我首先为每个变量提供一个简单的值:

let rgb1 = 1;
let rgb2 = 2;
let rgb3 = 3;

然后我把这些变量放到一个数组中:

let rgbVariables = [rgb1,rgb2,rgb3];

我有一个返回 0-255 之间的随机数的函数

function randomColor() {
return Math.floor((Math.random() * 255));
}

最后是我在数组上循环的函数

function refreshRGBNumbers() {
rgbVariables.forEach(function(rgb) {
rgb = randomColor();
});

刷新RGBNumbers函数在我单击按钮时调用。我已经验证了该函数是否正确调用,但是当我检查数组中变量的值时,它们仍然是 1,2,3。

我需要在这里做什么才能让函数用随机数正确替换数组变量?

如果要更改数组中的值,则需要直接更改它。

rgbVariables.forEach(function(val, index, array) { array[index] = randomColor(); })

最新更新