Javascript 如何从对象数组中删除重复记录?
我在Javascript中有这个对象Javascript 如何从对象数组中删除重复记录?,javascript,arrays,object,Javascript,Arrays,Object,我在Javascript中有这个对象 [{"col1": 1, "col2": 25},{"col1": 1, "col2": 25},{"col1": 3, "col2": 30}] 如何删除重复记录以获得此结果 [{"col1": 1, "col2": 25},{"col1": 3, "col2": 30}] 我尝试了下一个逻辑,但不起作用: [...new Set(myData)] const a=[{“col1:1”,col2:25},{“col1:1”,col2:25},{“c
[{"col1": 1, "col2": 25},{"col1": 1, "col2": 25},{"col1": 3, "col2": 30}]
如何删除重复记录以获得此结果
[{"col1": 1, "col2": 25},{"col1": 3, "col2": 30}]
我尝试了下一个逻辑,但不起作用:
[...new Set(myData)]
const a=[{“col1:1”,col2:25},{“col1:1”,col2:25},{“col1:3,col2:30}];
console.log(
a、 减少(
(acc,val)=>!acc.some({col1,col2})=>val.col1==col1&&val.col2==col2)
?根据concat(val)
:acc,
[]
)
);代码>
const a=[{“col1:1”,col2:25},{“col1:1”,col2:25},{“col1:3,col2:30}];
console.log(
a、 减少(
(acc,val)=>!acc.some({col1,col2})=>val.col1==col1&&val.col2==col2)
?根据concat(val)
:acc,
[]
)
);
我最近在另一个答案上读到了这篇文章,我喜欢它,它使用了可选参数filter()
,在filter函数中作为this
传递
const输入=[
{“col1:1”,col2:25},
{“col1:1”,col2:25},
{“col1:3”,col2:30}
];
设res=input.filter(函数({col1,col2})
{
return!this.has(`col1}-${col2}`)和&this.add(`col1}-${col2}`)
},新集合());
控制台日志(res)
我最近在另一个答案上读到了这篇文章,我喜欢它,它使用了可选参数filter()
,在filter函数中作为this
传递
const输入=[
{“col1:1”,col2:25},
{“col1:1”,col2:25},
{“col1:3”,col2:30}
];
设res=input.filter(函数({col1,col2})
{
return!this.has(`col1}-${col2}`)和&this.add(`col1}-${col2}`)
},新集合());
控制台日志(res)代码>显示了一个简单的过滤器
操作和设置
:
const data=[{“col1”:1,“col2”:25},{“col1”:1,“col2”:25},{“col1”:3,“col2”:30}];
const unique=data.filter(函数({col1,col2}){return!this.has(`col1}-${col2}')和this.add(`col1}-${col2}'),新集合);
console.log(唯一)代码>显示了一个简单的过滤器
操作和设置
:
const data=[{“col1”:1,“col2”:25},{“col1”:1,“col2”:25},{“col1”:3,“col2”:30}];
const unique=data.filter(函数({col1,col2}){return!this.has(`col1}-${col2}')和this.add(`col1}-${col2}'),新集合);
console.log(唯一)代码>这将是我心目中的第一个选择,所以+1适合你!这将是我心目中的第一个选择,所以+1适合你!只希望你没有像这样的数据:{“col1”:12,“col2”:3},{“col1”:1,“col2”:23},
?Fixed@markmeyer,只希望你没有像这样的数据:{“col1”:12,“col2”:3},{“col1”:1,“col2”:23},
?Fixed@markmeyer这是使用fitler()的第二个参数的好方法
。这是使用fitler()的第二个参数的好方法。
。