从JavaScript的移除的对象删除重复的对象和访问数据,并附加

问题描述 投票:0回答:3
    var array = [{
  id: "decafc0ffeefacedbabef00ddeadbeef",
  long_id: "1;;decafc0ffeefacedbabef00ddeadbeef"
}, {
  id: "4bb6ac319db42fabab84826a1c08e8da",
  long_id: "1;;decafc0ffeefacedbabef00ddeadbeef;;47421d5c40b2f15d801ac6ca0ff4e6cd;;4bb6ac319db42fabab84826a1c08e8da"
}, {
  id: "4bb6ac319db42fabab84826a1c08e8da",
  long_id: "1;;decafc0ffeefacedbabef00ddeadbeef;;4ace8bd1ec354275a813d6e3725047c0;;4bb6ac319db42fabab84826a1c08e8da"
}, {
  id: "47421d5c40b2f15d801ac6ca0ff4e6cd",
  long_id: "1;;decafc0ffeefacedbabef00ddeadbeef;;47421d5c40b2f15d801ac6ca0ff4e6cd"
}, {
  id: "4ace8bd1ec354275a813d6e3725047c0",
  long_id: "1;;decafc0ffeefacedbabef00ddeadbeef;;4ace8bd1ec354275a813d6e3725047c0"
}];
var keyToBeUnique = 'id';
var newarray = array.filter((val, key) => {
  return !array.slice(key + 1)
    .some((valNew) => {
      if(valNew[keyToBeUnique] === val[keyToBeUnique])
      valNew['long_id'] = val['long_id'] +','+ valNew['long_id'];
      return valNew[keyToBeUnique] === val[keyToBeUnique];
    })
});

console.log(newarray);

寻找更好的方式来追加该内部“一些”功能书面long_Id "valNew['long_id'] = val['long_id'] +','+ valNew['long_id'];"

javascript arrays dictionary object filter
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.