Javascript 如何从数组中传递随机数以从对象数组中获取每个对象属性?

Javascript 如何从数组中传递随机数以从对象数组中获取每个对象属性?,javascript,arrays,Javascript,Arrays,我生成了从1到3的唯一数字: let arrayOfNums = []; while (arrayOfNums.length < 3) { let r = Math.floor(Math.random() * 3) + 1; if (arrayOfNums.indexOf(r) === -1) arrayOfNums.push(r); } console.log(arrayOfNums); 如何循环遍历arrayOfNums中的每个元素,然后将每个元素(或int)传递到对象ge

我生成了从1到3的唯一数字:

let arrayOfNums = [];

while (arrayOfNums.length < 3) {
  let r = Math.floor(Math.random() * 3) + 1;
  if (arrayOfNums.indexOf(r) === -1) arrayOfNums.push(r);
}
console.log(arrayOfNums);
如何循环遍历
arrayOfNums
中的每个元素,然后将每个元素(或int)传递到对象getter(
[randomNumber]
)以随机获取每个colorValue


请帮帮我,因为我是Javascript新手,我真的不知道怎么做。太复杂了,请帮忙。提前多谢

一个简单的for循环似乎就是您想要的。这应该起作用:

for (let i=0; i<arrayOfNums.length; i++) {
  let randomNumber = arrayOfNums[i];
  colors[randomNumber].colorValue  // use this however you need 
}

一个简单的for循环似乎就是您想要的。这应该起作用:

for (let i=0; i<arrayOfNums.length; i++) {
  let randomNumber = arrayOfNums[i];
  colors[randomNumber].colorValue  // use this however you need 
}

我是这样想的:

for (const num of arrayOfNums) {
  colors[num].colorValue // use this however you need 
}
for (let num of arrayOfNums){
    let randomNumber = num;
    console.log("Your random color: "+colors[randomNumber].colorValue);
}

我是这样想的:

for (const num of arrayOfNums) {
  colors[num].colorValue // use this however you need 
}
for (let num of arrayOfNums){
    let randomNumber = num;
    console.log("Your random color: "+colors[randomNumber].colorValue);
}

您正在尝试获取每个索引的值,因此需要进行更改

let r = Math.floor(Math.random() * 3) + 1;

let r = Math.floor(Math.random() * 3);
然后您可以使用方法迭代每个项目,并获得颜色值,如

arrayOfNums.forEach(item => console.log(colors[item].colorValue))
和工作片段,如下所示

让arrayOfNums=[];
而(阵列长度<3){
设r=Math.floor(Math.random()*3);
if(arrayOfNums.indexOf(r)=-1)arrayOfNums.push(r);
}
控制台日志(arrayOfNums);
颜色=[
{
名称:“红色”,
颜色值:“红色”,
标签:“r”,
},
{
名称:“黄色”,
颜色值:“黄色”,
标签:“y”,
},
{
名称:“蓝色”,
颜色值:“#0077FF”,
标签:“b”,
},
];

arrayOfNums.forEach(item=>console.log(colors[item].colorValue))
您正在尝试获取每个索引的值,因此需要更改

let r = Math.floor(Math.random() * 3) + 1;

let r = Math.floor(Math.random() * 3);
然后您可以使用方法迭代每个项目,并获得颜色值,如

arrayOfNums.forEach(item => console.log(colors[item].colorValue))
和工作片段,如下所示

让arrayOfNums=[];
而(阵列长度<3){
设r=Math.floor(Math.random()*3);
if(arrayOfNums.indexOf(r)=-1)arrayOfNums.push(r);
}
控制台日志(arrayOfNums);
颜色=[
{
名称:“红色”,
颜色值:“红色”,
标签:“r”,
},
{
名称:“黄色”,
颜色值:“黄色”,
标签:“y”,
},
{
名称:“蓝色”,
颜色值:“#0077FF”,
标签:“b”,
},
];

arrayOfNums.forEach(item=>console.log(colors[item].colorValue))
您是否在询问如何执行for循环以遍历
arrayOfNums
中的值?是的,然后使用
arrayOfNums
中的那些值来获取
colors
@ZeddrixFabian中的每个
颜色,您的意思是这样吗。。请看console.@ZeddrixFabian,很高兴为您提供帮助..您是否在询问如何执行for循环以遍历
arrayOfNums
中的值?是的,然后使用
arrayOfNums
中的值获取
colorValue
中的每一个
colorValue
@ZeddrixFabian,您的意思是这样吗。。请看console..@ZeddrixFabian,很高兴能帮助您。。