Javascript 如何通过交换机条件访问阵列?

Javascript 如何通过交换机条件访问阵列?,javascript,arrays,Javascript,Arrays,我正在学习开关条件,我想知道是否可以通过开关条件访问数组,我尝试过这样做,但总是返回默认状态 let color=[‘红色’、‘蓝色’、‘绿色’]; 开关(彩色){ 案例“0”: log(“颜色是红色”); 打破 案例“1”: log(“颜色为蓝色”); 打破 案例“2”: log(“颜色为绿色”); 打破 违约: log(“颜色不是红色、蓝色或绿色”); 打破 }开关用于比较值是否等于特定情况。在您的例子中,您传递的是开关内部的数组,但大小写是字符串。因为数组和字符串不匹配,所以总是得到默认

我正在学习开关条件,我想知道是否可以通过开关条件访问数组,我尝试过这样做,但总是返回默认状态

let color=[‘红色’、‘蓝色’、‘绿色’];
开关(彩色){
案例“0”:
log(“颜色是红色”);
打破
案例“1”:
log(“颜色为蓝色”);
打破
案例“2”:
log(“颜色为绿色”);
打破
违约:
log(“颜色不是红色、蓝色或绿色”);
打破

}
开关用于比较值是否等于特定情况。在您的例子中,您传递的是开关内部的数组,但大小写是字符串。因为数组和字符串不匹配,所以总是得到默认结果。要解决此问题,您应该将颜色从数组更改为字符串

这将运行

let color = '0'

switch(color){
    case '0':
        console.log('the color is red');
        break;
    case '1':
        console.log('the color is blue');
        break;
    case '2':
        console.log('the color is green');
        break;
    default:
        console.log('the color is not red or blue or green');
        break;
}

您的错误是您试图检查数组和字符串是否相等。

开关用于比较值是否等于特定大小写。在您的例子中,您传递的是开关内部的数组,但大小写是字符串。因为数组和字符串不匹配,所以总是得到默认结果。要解决此问题,您应该将颜色从数组更改为字符串

这将运行

let color = '0'

switch(color){
    case '0':
        console.log('the color is red');
        break;
    case '1':
        console.log('the color is blue');
        break;
    case '2':
        console.log('the color is green');
        break;
    default:
        console.log('the color is not red or blue or green');
        break;
}

你的错误是你试图检查数组和字符串的相等性。

我想这就是你要找的

let color=[‘红色’、‘蓝色’、‘绿色’];
for(颜色的var索引){
打印颜色(索引);
}
函数printColor(索引){
开关(索引){
案例“0”:
log(“颜色是红色”);
打破
案例“1”:
log(“颜色为蓝色”);
打破
案例“2”:
log(“颜色为绿色”);
打破
违约:
log(“颜色不是红色、蓝色或绿色”);
打破
}

}
我想这就是你要找的

let color=[‘红色’、‘蓝色’、‘绿色’];
for(颜色的var索引){
打印颜色(索引);
}
函数printColor(索引){
开关(索引){
案例“0”:
log(“颜色是红色”);
打破
案例“1”:
log(“颜色为蓝色”);
打破
案例“2”:
log(“颜色为绿色”);
打破
违约:
log(“颜色不是红色、蓝色或绿色”);
打破
}

}
通常,有两种方法可以将颜色编号转换为颜色名称-映射(数组或对象)或条件(使用
if
switch
语句或类似语句),例如:

//使用从整数到颜色名称的映射
常量颜色=[“红色”、“蓝色”、“绿色”]
设colorNumber=0
log(`Color for number${colorNumber}是${colors[colorNumber]}`)
色数=5
log(`Color for number${COLORNAME}是${colors[COLORNAME]| |'unknown'}`)
//使用开关
开关(颜色编号){
案例0:{
console.log('数字0的颜色为红色')
打破
}
案例1:{
log('数字1的颜色为蓝色')
打破
}
案例2:{
log('数字2的颜色为绿色')
打破
}
默认值:{
console.log('其他数字的颜色未知')
打破
}

}
通常,有两种方法可以将颜色编号转换为颜色名称-映射(数组或对象)或条件(使用
if
switch
语句或类似语句),例如:

//使用从整数到颜色名称的映射
常量颜色=[“红色”、“蓝色”、“绿色”]
设colorNumber=0
log(`Color for number${colorNumber}是${colors[colorNumber]}`)
色数=5
log(`Color for number${COLORNAME}是${colors[COLORNAME]| |'unknown'}`)
//使用开关
开关(颜色编号){
案例0:{
console.log('数字0的颜色为红色')
打破
}
案例1:{
log('数字1的颜色为蓝色')
打破
}
案例2:{
log('数字2的颜色为绿色')
打破
}
默认值:{
console.log('其他数字的颜色未知')
打破
}
}
我想这可能是你想要的


我想这可能就是你想要的。

你说的“访问阵列”是什么意思?您期望的结果是什么?switch case用于表示不在数组上迭代的条件。您需要在for循环中嵌入switch case,然后将每个数组项传递给switch您所说的“访问数组”是什么意思?您期望的结果是什么?switch case用于表示不在数组上迭代的条件。您需要将开关大小写嵌入for循环中,然后将每个数组项传递给开关