此循环和返回数据的更好解决方案?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'
};