es6去重, 满足三个条件:1,id >1,id不能相等, 2,id == 0, id&&all_type不能相等, 3,id==1 ,id &&category_id不能相等
时间: 2024-12-12 21:18:07 浏览: 6
ES6中可以使用Set数据结构或者数组的一些方法结合条件过滤来进行去重,考虑到你提供的三个特定条件,我们可以创建一个函数来实现这个功能。这里是一个示例:
```javascript
function deduplicate(arr) {
return arr.filter(item => {
let conditions = [
item.id > 1 && !arr.some(i => i.id === item.id),
item.id === 0 && !arr.some(i => i.id && i.all_type === item.all_type),
item.id === 1 && !arr.some(i => i.id && i.category_id === item.category_id)
].every(condition => condition);
if (conditions) {
// 如果满足所有条件,保留该item
return true;
} else {
// 否则移除
return false;
}
});
}
// 使用示例
let data = [/* 你的数据列表 */];
let uniqueData = deduplicate(data);
```
这个`deduplicate`函数接收一个数组,并返回一个新的数组,其中只包含满足所有三个条件的元素。我们首先检查每个元素是否满足每个条件,然后使用`every`方法确保所有条件都为真。如果所有条件成立,则保留该元素;反之,就从新数组中删除。
阅读全文