let array = [1, 2, 4, 4, 5, 6, 6, 7, 7, 1, 1, 3, 3]
// 1.双重for循环去重
function sortArray1(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1)
j--;
}
}
}
return arr
}
// 2.利用filter方法去重
function sortArray2(arr) {
return arr.filter(function(item, index, arr) {
return arr.indexOf(item) === index
})
}
// 3.使用indexOf去重
function sortArray3(arr) {
let arrNew = []
for (let i = 0; i < arr.length; i++) {
if(arrNew.indexOf(arr[i]) === -1) {
arrNew.push(arr[i])
}
}
return arrNew
}
// 4.使用sort()先排序后去重
function sortArray4(arr) {
arr = arr.sort()
let array = [arr[0]]
for (let i = 1; i < arr.length; i++) {
if(arr[i] !== arr[i-1]) {
array.push(arr[i])
}
}
return array
}
// 5.使用ES6 Set去重(ES6中最常使用的方法)
function sortArray5(arr) {
let setArray = new Set(arr) // Set { 1, 2, 4, 5, 6, 7, 3 }
// return Array.from(setArray) // 方法1
return [...setArray] // 方法2
}
// 6.利用includes去重
function sortArray6(arr) {
let array = []
for (let i = 0; i < arr.length; i++) {
if(!array.includes(arr[i])) {
array.push(arr[i])
}
}
return array
}
// 7.使用reduce + includes
function sortArray7(arr) {
return arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], [])
}
01-数组去重
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。