数组对象的一些常用方法

2023-08-28  本文已影响0人  Davhoon

我们在处理数据的时候经常会遇到数组对象之间的处理,根据我遇到的常用的进行总结,处理的是数组对象,而非数组。

数组对象

两个数组对象根据ID取交集

let a=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234}
];
let b=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234},
  {id:3,a:123,b:1234},
  {id:4,a:123,b:1234}
];
//获取交集并返回新的数组
let arr = [...b].filter(x => [...a].some(y => y.id === x.id));
console.log('arr',arr)
//输出
[{"id":1,"a":123,"b":1234},{"id":2,"a":123,"b":1234}]

两个数组对象根据ID取差集

let a=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234}
];
let b=[
  {id:1,a:123,b:1234},
  {id:2,a:123,b:1234},
  {id:3,a:123,b:1234},
  {id:4,a:123,b:1234}
];
let arr = [...b].filter(x => [...a].every(y => y.id !== x.id));
console.log('arr',arr);

数组

取并集

let a=new Set([1,2,3,4,5]);
let b=new Set([1,2,3,4,5,6,7,8,9]);
let arr = Array.from(new Set([...a, ...b]));
console.log('arr',arr);

取交集

let a=new Set([1,2,3,4,5]);
let b=new Set([1,2,3,4,5,6,7,8,9]);
let arr = Array.from(new Set([...b].filter(x => a.has(x))));

取差集

let a=new Set([1,2,3,4,5]);
let b=new Set([1,2,3,4,5,6,7,8,9]);
let arr = Array.from(new Set([...b].filter(x => !a.has(x))));
console.log('arr',arr);

这些方法就可以直接拿去用了

上一篇 下一篇

猜你喜欢

热点阅读