Appearance
数组去重
js
const array = [' ', 1, 2, ' ',' ', 3];
// 1: 使用 "Set"
[...new Set(array)];
// 2: 使用 "Filter"
array.filter((item, index, arr) => arr.indexOf(item) === index);
// 3: 使用 "Reduce"
array.reduce((unique, item) => unique.includes(item) ? unique : [...unique, item], []);
// RESULT:
// [' ', 1, 2, 3];
const array = [' ', 1, 2, ' ',' ', 3];
// 1: 使用 "Set"
[...new Set(array)];
// 2: 使用 "Filter"
array.filter((item, index, arr) => arr.indexOf(item) === index);
// 3: 使用 "Reduce"
array.reduce((unique, item) => unique.includes(item) ? unique : [...unique, item], []);
// RESULT:
// [' ', 1, 2, 3];
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
如果输入为两个一维数组,将这两个数组合并,去重,不要求排序,返回一维数组
ts
function dealArr(arr1: any[], arr2: any[]): any[] {
return Array.from(new Set([...arr1.flat(), ...arr2.flat()]));
}
const arr1 = ["a", 1, 2, 3, ["b", "c", 5, 6]];
const arr2 = [1, 2, 4, "d", ["e", "f", "5", 6, 7]];
// [ 'a', 1, 2, 3,'b', 'c', 5, 6, 4, 'd', 'e', 'f','5', 7]
console.log(dealArr(arr1, arr2));
function dealArr(arr1: any[], arr2: any[]): any[] {
return Array.from(new Set([...arr1.flat(), ...arr2.flat()]));
}
const arr1 = ["a", 1, 2, 3, ["b", "c", 5, 6]];
const arr2 = [1, 2, 4, "d", ["e", "f", "5", 6, 7]];
// [ 'a', 1, 2, 3,'b', 'c', 5, 6, 4, 'd', 'e', 'f','5', 7]
console.log(dealArr(arr1, arr2));
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9