is there a function in lodash to replace matched item

前端 未结 15 2279
孤街浪徒
孤街浪徒 2020-12-07 13:42

I wonder if there is a simpler method in lodash to replace an item in a JavaScript collection? (Possible duplicate but I did not understand the answer there:)

I look

15条回答
  •  离开以前
    2020-12-07 14:14

    Seems like the simplest solution would to use ES6's .map or lodash's _.map:

    var arr = [{id: 1, name: "Person 1"}, {id: 2, name: "Person 2"}];
    
    // lodash
    var newArr = _.map(arr, function(a) {
      return a.id === 1 ? {id: 1, name: "Person New Name"} : a;
    });
    
    // ES6
    var newArr = arr.map(function(a) {
      return a.id === 1 ? {id: 1, name: "Person New Name"} : a;
    });
    

    This has the nice effect of avoiding mutating the original array.

提交回复
热议问题