Вы можете сделать это, используя filter
или spread Operator
с map
. Простое использование оператора распространения с new Set
не даст желаемых результатов.
Использование filter
var data = {
requests: [{
id: 'p1',
isOptional: false,
item: [Object]
},
{
id: 'p1',
isOptional: false,
item: [Object]
}
]
}
var unique = data.requests.filter(function({id}) {
return !this[id] && (this[id] = id)
}, {})
console.log(unique )
Использование оператора распространения и map
var data = {
requests: [{
id: 'p1',
isOptional: false,
item: [Object]
},
{
id: 'p1',
isOptional: false,
item: [Object]
}
]
}
var unique = [...new Set(data.requests.map(({id}) => id))].map(e => data.requests.find(({id}) => id == e));
console.log(unique )