How to replace an item in an array with JavaScript?

后端 未结 26 2239
执笔经年
执笔经年 2020-11-29 15:33

Each item of this array is some number.

var items = Array(523,3452,334,31, ...5346);

How do I replace some number in with array with a new on

26条回答
  •  心在旅途
    2020-11-29 16:07

    Replacement can be done in one line:

    var items = Array(523, 3452, 334, 31, 5346);
    
    items[items.map((e, i) => [i, e]).filter(e => e[1] == 3452)[0][0]] = 1010
    
    console.log(items);

    Or create a function to reuse:

    Array.prototype.replace = function(t, v) {
        if (this.indexOf(t)!= -1)
            this[this.map((e, i) => [i, e]).filter(e => e[1] == t)[0][0]] = v;
      };
    
    //Check
    var items = Array(523, 3452, 334, 31, 5346);
    items.replace(3452, 1010);
    console.log(items);

提交回复
热议问题