我有一个房间对象数组,目前正在根据它们的room_rate_type_id
属性从数组中删除重复的对象:
const rooms = [{
room_rate_type_id: 202,
price: 200
},
{
room_rate_type_id: 202,
price: 200
},
{
room_rate_type_id: 202,
price: 189
},
{
room_rate_type_id: 190,
price: 200
}
];
const newRooms = rooms.filter((room, index, array) => {
const roomRateTypeIds = rooms.map(room => room.room_rate_type_id);
// Returns the first index found.
return roomRateTypeIds.indexOf(room.room_rate_type_id) === index;
});
console.log(newRooms);
然而,我还需要确保仅当对象的room_rate_type_id
和价格都匹配时才会删除它们。
我可以理解在我的示例中提供的过滤功能是如何工作的,但我不确定如何干净地检查价格,最好使用ES6。