How to merge multiple array of object by ID in javascript?

前端 未结 5 818
长情又很酷
长情又很酷 2020-12-01 19:32

I want to merge 4 array of object into one array

For example: 4 arrays like

var arr1 =[
  { memberID : \"81fs\", RatingCW:4.5},
  {          


        
5条回答
  •  猫巷女王i
    2020-12-01 19:56

    With lodash, a lot more readable I think.

    var arr1 = [{"memberID":"81fs","RatingCW":4.5},{"memberID":"80fs","RatingCW":4},{"memberID":"82fs","RatingCW":5},{"memberID":"83fs","RatingCW":3},{"memberID":"84fs","RatingCW":4.7}],
        arr2 = [{"memberID":"80fs","ratingWW":4},{"memberID":"81fs","ratingWW":4.5},{"memberID":"83fs","ratingWW":3},{"memberID":"82fs","ratingWW":5},{"memberID":"84fs","ratingWW":3.5}],
        arr3 = [{"memberID":"80fs","incoCW":4},{"memberID":"81fs","incoCW":4.5},{"memberID":"82fs","incoCW":5},{"memberID":"83fs","incoCW":3},{"memberID":"84fs","incoCW":4.5}],
        arr4 = [{"memberID":"80fs","incoWW":3},{"memberID":"81fs","incoWW":2.5},{"memberID":"82fs","incoWW":5},{"memberID":"83fs","incoWW":3},{"memberID":"84fs","incoWW":6.5}];
    
    var merged = _(arr1)
      .concat(arr2, arr3, arr4)
      .groupBy("memberID")
      .map(_.spread(_.merge))
      .value();
    
    console.log(merged);

    Here is the codepen: http://codepen.io/kuhnroyal/pen/Wxzdmw

提交回复
热议问题