【发布时间】:2018-03-06 06:04:25
【问题描述】:
我有一个房间对象数组,我目前正在根据它们的 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 中。
【问题讨论】:
-
我已批准更新的问题,感谢您的反馈。
-
I am currently removing duplicates objects from the array,从技术上讲你不是,你从过滤器创建一个新数组.. :)
标签: javascript arrays filter ecmascript-6