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)