Home > Enterprise >  ReactJS / Javascript How to remove the duplicate array of objects from multi dimentional array?
ReactJS / Javascript How to remove the duplicate array of objects from multi dimentional array?

Time:06-02

const array = [
  {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153, …},
  {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153, …}
];

CodePudding user response:

To remove the duplicate objects by checking for all the keys:

You have _.uniq function of underscore

const sourceArray = [ {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153}, {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153} ]
const destArray = _.uniq(sourceArray, function(x){
    return x.name;
});
console.log(destArray);
<script src="https://cdn.jsdelivr.net/npm/[email protected]/underscore-umd-min.js"></script>

If you want in plain Javascript

var uniqueProperties = {};

var array = [ {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153}, {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153} ]


for(var object in array){
   uniqueProperties[array[object]['name']] = array[object]['id'];
}

var uniqiueArray = [];

for(var uniqueName in uniqueProperties){
   uniqiueArray.push(
     { id: uniqueProperties[uniqueName], name:uniqueName });
}

console.log(uniqiueArray)

CodePudding user response:

This question has already been answered before in here

let array = [
  {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153},
  {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153},
  {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153},
  {id: 1029, name: 'College-Annual-Day.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153},
  {id: 1030, name: 'College-Annual-Day-2.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153},
  {id: 1031, name: 'College-Annual-Day-3.jpg', ext: 'jpg', mime: 'image/jpeg', size: 91153}
];
array = array.filter((value, index, self) =>
  index === self.findIndex((t) => t.id === value.id
 )
)

console.log(array)

  • Related