У меня есть массив объектов, которые я хотел бы обрезать на основе определенной пары key:value
. Я хочу создать массив, который включает только один объект для этой конкретной пары key:value
. Не обязательно, какой объект дубликатов будет скопирован в новый массив.
Например, я хочу обрезать на основе свойства price
arrayWithDuplicates
, создав новый массив, который включает только одно из каждого значения:
var arrayWithDuplicates = [
{"color":"red",
"size": "small",
"custom": {
"inStock": true,
"price": 10
}
},
{"color":"green",
"size": "small",
"custom": {
"inStock": true,
"price": 30
}
},
{"color":"blue",
"size": "medium",
"custom": {
"inStock": true,
"price": 30
}
},
{"color":"red",
"size": "large",
"custom": {
"inStock": true,
"price": 20
}
}
];
Стало бы:
var trimmedArray = [
{"color":"red",
"size": "small",
"custom": {
"inStock": true,
"price": 10
}
},
{"color":"green",
"size": "small",
"custom": {
"inStock": true,
"price": 30
}
},
{"color":"red",
"size": "large",
"custom": {
"inStock": true,
"price": 20
}
}
];
Есть ли функция JavaScript или Angular, которая будет проходить через это и делать это?
EDIT: свойство для фильтрации включено в другое свойство.