我有一个像这样的数组:
var array = [1,3,5]
每个数字都必须替换为一个特定值(例如1
是"Tree"
,3
是"Car"
,依此类推)。因此,在此示例中,我想要的最终数组是:
var defArray = [Tree, Car, Dog]
我尝试使用indexOf
并将值替换为Index,但是它不起作用。
答案 0 :(得分:1)
尝试
let array = [1,3,5];
let def = {1: "Tree", 3:"Car", 5:"Dog"};
let r= array.map(x=>def[x]);
console.log(r);
答案 1 :(得分:0)
我不确定您要做什么,但是毫无疑问,“地图”功能正是您所需要的。
const array = [1,3,5];
const defArray = array.map( e => {
switch(e) {
case 1: return "Tree";
case 3: return "Car";
case 5:return "Dog";
default: return transform = "...";
}
})
答案 2 :(得分:-1)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map map()方法创建一个新数组,其结果是在调用数组中的每个元素上调用提供的函数。
const inputArray = [1,3,5];
const outputArray = inputArray.map( i => {
if(i === 1) return "Tree";
else if (i === 3) return "Car";
else if (i === 5) return "Dog";
return; //you might want to have a default return if nothing matches, up to your specific code's use case.
}