此循环和返回数据的更好解决方案?Javascript
我需要为这个循环找到更好的解决方案,以及如何以更好的方式返回这些结果。好吧,总有一个“开关”循环,但你怎么看?好吗此循环和返回数据的更好解决方案?Javascript,javascript,Javascript,我需要为这个循环找到更好的解决方案,以及如何以更好的方式返回这些结果。好吧,总有一个“开关”循环,但你怎么看?好吗 这很好,但我需要更好的解决方案。我会制作一个数组并查找标记: convertType(arr) { let resultArr = arr.map(arr => { if (arr == '0') { return 'zero' } if (arr == '1') { return 'one'
这很好,但我需要更好的解决方案。我会制作一个数组并查找标记:
convertType(arr) {
let resultArr = arr.map(arr => {
if (arr == '0') {
return 'zero'
}
if (arr == '1') {
return 'one'
}
if (arr == '2') {
return 'two'
}
if (arr == '3') {
return 'three'
}
})
return resultArr;
}
如果要比较的值不是数组标记,或者可能不是所有值都从0开始,请使用对象:
convertType(arr) {
return arr.map(item => numbers[item]);
}
使用与convertType
相同的代码,可以使用数组
常量arr=[“零”、“一”、“二”、“三”];
常量数据=['0','1','3','2','2'];
const res=data.map(x=>arr[Number(x)];
console.log(res)您可以在全局对象中定义可能的情况,如下所示:
const NUMBER\u MAP={
“0”:“0”,
“1”:“1”,
"2":"2",,
"三":"三",,
};
函数类型(arr){
返回arr.map(number=>number_map[number]| |“未找到”);
}
log(convertType(['0','1','2','3','13'])
在地图中隐藏arr
变量不是一个好主意。“更好”用哪个术语?是什么阻止您使用开关
?非常好。你能给我解释一下这个数字吗?深入理解?obj[somePropName]
访问obj
对象的somePropName
属性。同样的情况也适用于数组。例如,当somePropName
为0时,obj[somePropName]
相当于obj[0]
。数组上的0属性包含值0
。
convertType(arr) {
return arr.map(item => numbers[item]);
}
const numbers = {
2: 'two',
3: 'three'
somethingElse: 'something else'
};