JS数组操作

147 阅读1分钟

二维数组

Learn reduce first

交集

const arr = [
    [0, 1, 2, 3, 5],
    [5, 1, 9, 7],
    [3, 9, 0, 4, 1, 5],
    [7, 8, 1, 6, 5]
];

let newArr = arr.reduce((prev, cur) => {
    prev = prev.filter(v => cur.includes(v))
    console.log('prev', prev);
    return prev;
});

console.log(newArr);

并集

  • 普通操作
const arr = [
    [0, 1, 2, 3, 5],
    [5, 1, 9, 7],
    [3, 9, 0, 4, 1, 5],
    [7, 8, 1, 6, 5]
];

let newArr = arr.reduce((prev, cur) => {
    prev = prev.concat(cur.filter(v => !prev.includes(v)))
    console.log('prev', prev);
    return prev;
});

console.log(newArr);
  • 高级操作 flat 数组后再直接去重后即可