Javascript 获得数组中相同或不同的数组元素
在Javascript中,偶尔会用到获取数组中相同或不同的元素值的情况,以下提供了获得数组中相同或不同的
元素函数供参考学习使用。
// 数字类型
2 // let firstArray = [1, 2, 3, 4, 5];
3 // let secondArray = [1, 2, 3];
4
5 // 字符串类型
6 let firstArray = ['one', 'two', 'three', 'four', 'five'];
7 let secondArray = ['one', 'two', 'three'];
8
9 let sameArray = getTheSameArrays(firstArray, secondArray);
10 let diffArray = getDifferentArrays(firstArray, secondArray);
11
12 // 测试数字类型数组
13 // console.log(sameArray); // [1, 2, 3]
14 // console.log(diffArray); // [4,5]
15
16 // 测试字符串类型数组
17 console.log(sameArray); // ['one', 'two', 'three']
18 console.log(diffArray); // ['four', 'five']
19
20 function getDifferentArrays(array1, array2) {
21 return array1.concat(array2).filter(function (v, i, array) {
22 return array.indexOf(v) === array.lastIndexOf(v);
23 });
24 }
25
26 function getTheSameArrays(array1, array2) {
27 let newArray = [];
28 for (let i = 0; i < array2.length; i++) {
29 for (let j = 0; j < array1.length; j++) {
30 if (array1[j] === array2[i]) {
31 newArray.push(array1[j]);
32 }
33 }
34 }
35 return newArray;
36 }