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循环中,然后将每个数组项传递给开关