存在一个数组[1, 3, 5, 7, 9, 1, 5, 9]
通过一定的算法,得到数组[1, 3, 5, 7, 9]
遍历数组
let arr = [1, 3, 5, 7, 9, 1, 3, 5]
function arrUnique(arr) {
let result = []
for (let k of arr) {
if (!result.includes(k)) {
result.push(k)
}
}
return result
}
console.log( arrUnique(arr) )
复制代码
利用对象键值对
let arr = [1, 3, 5, 7, 9, 1, 3, 5]
function arrUnique(arr) {
let result = []
let obj = {}
for (let i = 0; i < arr.length; i++) {
let val = arr[i]
if (!obj[val]) {
obj[val] = true
result.push(arr[i])
}
}
return result
}
console.log(arrUnique(arr))
复制代码
先排序,再去重
let arr = [1, 3, 5, 7, 9, 1, 3, 5]
function arrUnique(arr) {
let result = [arr[0]]
arr.sort((a, b) => a - b)
for (let i = 0; i < arr.length; i++) {
if (arr[i] !== result[result.length - 1]) {
result.push(arr[i])
}
}
return result
}
console.log(arrUnique(arr))
复制代码
借助ES6的Set数据结构
let arr = [1, 3, 5, 7, 9, 1, 3, 5]
function arrUnique(arr) {
return [...new Set(arr)]
}
console.log(arrUnique(arr))
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END