如何在映射后快速抛出数组,并在if-else条件后重新运行新数组



data.risk.scatterIndices.investments.map((el: any) => el.name) || []

我有一个映射函数,它返回一个像这样的数组:

["pension","realestate","balance","kupot"]

这是我想用来将这个数组转换为新数组的条件

`
if(key === balance){
key = 'עוש ומזומן'
}else if(key ===  realestate){
key = 'נדלן'
}else if(key === pension){
key = 'פנסיה'
}else if(key ===  kupot){
key = 'קופות'
}
`

预期输出为["קופות","עוש ומזומן","נדלן","פנסיה"]

我怎么能做对呢?

您可以使用map

const arr = ['pension', 'realestate', 'balance', 'kupot']
const res = arr.map(key => {
if (key === 'balance') {
return 'עוש ומזומן'
} else if (key === 'realestate') {
return 'נדלן'
} else if (key === 'pension') {
return 'פנסיה'
} else if (key === 'kupot') {
return 'קופות'
} else {
return 'N/A'
}
})
console.log(res)

只需使用一个"对于";这样的循环:

for(let i=0; i < array.length; i++){
switch (array[i]) {
case "pension":
array[i] = 'פנסיה';
break;
// Add other cases to the switch with the possible values
}
}

如果不在对象中,可以为replacemenst取一个对象,映射数组并将键作为默认值。

const
replacements = { balance: 'עוש ומזומן', realestate: 'נדלן', pension: 'פנסיה', kupot: 'קופות' },
array = ["pension", "realestate", "balance", "kupot", "some value"],
result = array.map(k => replacements[k] || k);
console.log(result);

最新更新