共计 2394 个字符,预计需要花费 6 分钟才能阅读完成。
1、利用排序后,再去重 | |
// 1、利用排序后,再去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 5, 6, 7, 5] | |
// 1.1 利用 sort 拍讯 | |
arrList.sort((a, b) => {return a - b}) | |
// 1.2 利用冒泡排序 | |
// for (let i = 0; i < arrList.length; i++) {// for (let j = i + 1; j < arrList.length; j++) {// if (arrList[i] > arrList[j]) {// let temp = arrList[i]; | |
// arrList[i] = arrList[j]; | |
// arrList[j] = temp; | |
// } | |
// } | |
// } | |
let newArrList = []; | |
for (let i = 0; i < arrList.length; i++) {if (arrList[i] != arrList[i + 1]) {newArrList.push(arrList[i]) | |
} | |
} | |
2、双重 for 循环去重 | |
// 2、双重 for 循环去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5] | |
for (let i = 0; i < arrList.length; i++) {for (let j = i + 1; j < arrList.length; j++) {if (arrList[i] === arrList[j]) {arrList.splice(j, 1); | |
j-- | |
} | |
} | |
} | |
3、利用 indexof 去重 | |
// 3、利用 indexof 去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
let newArrList = []; | |
for (let i = 0; i < arrList.length; i++) {if (newArrList.indexOf(arrList[i]) === -1) {newArrList.push(arrList[i]) | |
} | |
} | |
4、利用对象属性去重 | |
// 4、利用对象属性去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
let obj = {}; | |
for (let i = 0; i < arrList.length; i++) {if (!obj[arrList[i]]) {obj[arrList[i]] = arrList[i] | |
} | |
} | |
5、利用 es6 的 new Set() 配合... 开展语法去重 | |
// 5、利用 es6 的 new set() 配合... 开展语法去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
console.log([...new Set(arrList)]) | |
6、利用 es6 的 new Set() 配合 Array.from() 去重 | |
// 6、利用 es6 的 new Set() 配合 Array.from() 去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
console.log(Array.from(new Set(arrList))) | |
7、利用数组的 includes 办法 | |
// 7、利用数组的 includes 办法 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
let newArrList = []; | |
for (let i = 0; i < arrList.length; i++) {if (!newArrList.includes(arrList[i])) {newArrList.push(arrList[i]) | |
} | |
} | |
8、利用数组的 filter()+indexOf() | |
// 8、利用数组的 filter()+indexOf() | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
let newArrList = arrList.filter((item, index) => {return arrList.indexOf(item) === index; | |
}) | |
9、Map 对象是 JavaScript 提供的一种数据结构,构造为键值对模式,将数组元素作为 map 的键存入,前端培训而后联合 has() 和 set() 办法判断键是否反复。// 9、利用 new Map() | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
let newArrList = []; | |
let map = new Map(); | |
arrList.forEach(item => {if (!map.has(item)) {newArrList.push(item); | |
map.set(item, true); | |
} | |
}) | |
10、利用 reduce 联合 includes 去重 | |
// 10、利用 reduce 联合 includes 去重 | |
let arrList = [1, 1, 4, 2, 4, 3, 8, 4, 999, 5, 6, 7, 5]; | |
let newArrList = arrList.reduce((prev, cur) => {return prev.includes(cur) ? prev : [...prev, cur] | |
},[]) |
正文完
发表至: javascript
2022-05-31