如何替换数组中的特定值

时间:2019-06-03 19:40:38

标签: javascript

我有一个像这样的数组:

var array = [1,3,5]

每个数字都必须替换为一个特定值(例如1"Tree"3"Car",依此类推)。因此,在此示例中,我想要的最终数组是:

var defArray = [Tree, Car, Dog]

我尝试使用indexOf并将值替换为Index,但是它不起作用。

3 个答案:

答案 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.
    }