循环时在数组中分配新变量的Javascript

循环时在数组中分配新变量的Javascript,javascript,arrays,random,Javascript,Arrays,Random,//我试图使数组中的每个元素的颜色都被指定为不同的颜色,但是当我运行此命令时,一些元素被更改为颜色名称,而另一些则没有,切换是否会更好,如果是,如何 colors = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; function randomColor() { //fills the array with a number from 1 - 16 for (let i of colors) { colors[i] = Math.floo

//我试图使数组中的每个元素的颜色都被指定为不同的颜色,但是当我运行此命令时,一些元素被更改为颜色名称,而另一些则没有,切换是否会更好,如果是,如何

colors = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];  

function randomColor() {  //fills the array with a number from 1 - 16
  for (let i of colors) {
    colors[i] = Math.floor(Math.random()*15+1);
    if (colors[i] === 1) {
    colors[i] = "red";
    }   
    else if (colors[i] === 2){
        colors[i] = "blue";}
    else if (colors[i] === 3){
        colors[i] = "yellow";}
    else if (colors[i] === 4){
        colors[i] = "orange";}
    else if (colors[i] === 5){
        colors[i] = "purple";}
    else if (colors[i] === 6){
        colors[i] = "pink";}
    else if (colors[i] === 7){
        colors[i] = "green";}
    else if (colors[i] === 8){
        colors[i] = "gray";}
    else if (colors[i] === 9){
        colors[i] = "black";}
    else if (colors[i] === 10){
        colors[i] = "white";}
    else if (colors[i] === 11){
        colors[i] = "darkblue";}
    else if (colors[i] === 12){
        colors[i] = "darkgreen";}
    else if (colors[i] === 13){
        colors[i] = "darkyellow";}
    else if (colors[i] === 14){
        colors[i] = "darkpurple";}
    else if (colors[i] === 15){
        colors[i] = "lightgreen";}
    else if (colors[i] === 16){
        colors[i] = "lightblue";}
    else { colors[i] === "clear";}
  }
    colors[0] = Math.floor(Math.random()*15+1);

    return colors;
}


randomColors();

一个for…of循环将遍历数组中的元素,而不是索引。您将
i
视为索引而不是元素。相反,您可以将循环的循环的
更改为常规
for
循环,以便循环阵列的索引:

函数randomColor(colors){//用1-16之间的数字填充数组
对于(设i=0;iconsole.log(随机颜色(颜色))谢谢,我需要一个循环来不断地更新它们,将它实现到我正在做的事情中,现在它正在工作。@DrewSandler不必担心下面的答案看起来不错。我只是想知道你打算什么时候更新
colors[0]=Math.floor(Math.random()*15+1)要成为一种颜色?看起来您的代码从未尝试将其更改为颜色。当想出一个解决方案时,试着考虑这样的事情。