数组常见使用方法汇总

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

js
JSRUN前端笔记, 是针对前端工程师开放的一个笔记分享平台,是前端工程师记录重点、分享经验的一个笔记本。JSRUN前端采用的 MarkDown 语法 (极客专用语法), 这里属于IT工程师。