is there a function in lodash to replace matched item

前端 未结 15 2321
孤街浪徒
孤街浪徒 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:18

    You can also use findIndex and pick to achieve the same result:

      var arr  = [{id: 1, name: "Person 1"}, {id:2, name:"Person 2"}];
      var data = {id: 2, name: 'Person 2 (updated)'};
      var index = _.findIndex(arr, _.pick(data, 'id'));
      if( index !== -1) {
        arr.splice(index, 1, data);
      } else {
        arr.push(data);
      }
    

提交回复
热议问题