订单数据重复了 怎么去重呢
引用lodash
_.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
// => [{ 'x': 1 }, { 'x': 2 }]
https://www.lodashjs.com/docs...
_.uniqBy(tableData,‘ID’)
function uniq(arr, fn) {
const map = {}
arr.forEach(item => {
map[fn(item)]=item
})
return Object.values(map)
}
uniq(arr, item => item.id)
自己利用 Set(或 object)以及 filter 也很容易进行唯一值过滤,
const v = [{ "id": 1 }, { "id": 2 }, { "id": 1 }];
const ss = new Set();
const r = v.filter(({ id }) => {
if (ss.has(id)) { return false; }
return ss.add(id);
});
console.log(r);
4 回答5.6k 阅读✓ 已解决
12 回答4.6k 阅读
7 回答2.9k 阅读✓ 已解决
13 回答1.6k 阅读
11 回答2.8k 阅读
5 回答1.8k 阅读✓ 已解决
8 回答2.2k 阅读✓ 已解决
对tableData去重