首页 > 解决方案 > 如何转换数组中的值?

问题描述

我需要更改我发送的值。数组的一个例子是:

0: {name: "One", value: 1}
1: {name: "Two", value: 2}
2: {name: "One", value: 3}
3: {name: "Two", value: 4}

数组长度有多长并不重要。Any time 是四个对象 any time 只有两个例子:

0: {name: "One", value: 1}  
1: {name: "Two", value: 4}

重要的是需要在对象内转换值

如果我得到:

0: {name: "One", value: 1}
1: {name: "Two", value: 2}
2: {name: "One", value: 3}
3: {name: "Two", value: 4}

我需要转换为

0: {name: "One", value: 'Value one'}
1: {name: "Two", value: 'Value two'}
2: {name: "One", value: 'Value three'}
3: {name: "Two", value: 'Value four'}

我尝试什么:

data: convert(ArrayOfData)


convert(arr){
    const convertArr = ['Value one', 'Value two', 'Value three', 'Value four'];
    return value.map((value: any) => convertArr[value]);
    }

这没有工作我不知道为什么....

第二次尝试也没有工作....

 convert(arr){
  let resultArr = arr.map(arr => { 
   if (arr.value == 1) { 
     return  'Value one'
  }
   if (arr.value == 2) {
     return 'Value two'
   } 
 })
 return resultArr;
}

但根据代码,这应该真的有效......

标签: javascriptarrays

解决方案


好像你对Array.prototype.map()有误解

const convertArr = [, 'Value one', 'Value two', 'Value three', 'Value four'];

value.map(({ name, value }) => ({
  name,
  value: convertArr[value],
}));

推荐阅读