1. 数组交集
1.1 普通数组
var arr1 = [1,2,3,4,5,6]
var arr2 = [2,3,5]
arr1.filter(num => arr2.indexOf(num) > -1) // [2, 3, 5]
1.2 数组对象
var arr3 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }, { name: 'name5', id: 5 }];
var arr4 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
arr3.filter(num => arr4.some(number => JSON.stringify(num) === JSON.stringify(number)))
// // [{ name: 'name1', id: 1 },{ name: 'name2', id: 2 },{ name: 'name3', id: 3 },{ name: 'name5', id: 5 }]
2.数组并集
1.1 普通数组
var arr1 = [1, 2, 3, 4, 5, 8, 9]
var arr2 = [5, 6, 7, 8, 9];
arr1.concat(arr2.filter(num => !arr1.includes(num)))
// [1, 2, 3, 4, 5, 8, 9, 6, 7]
1.2 数组对象
var arr1 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }];
var arr2 = [{ name: 'name1', id: 1 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
var arr3 = arr1.concat(arr2)
var arr4 = arr3.reduce((pre, cru, index, arr) => {
}, [])
header 1 | header 2 |
---|---|
row 1 col 1 | row 1 col 2 |
row 2 col 1 | row 2 col 2 |