手写数组去重(一)
let arr = [1,2,2,3,4,2,5,7,1,4,2,5,6,3,7,3,5,4,3,]
// 第一种 双重for和splice截取
// function unique (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
// }
// 第二种 filter和indexOf
// function unique (arr) {
// return arr.filter((item,index)=> {
// return arr.indexOf(item) === index
// })
// }
// 第三种 filter和hasOwnProperty
// function unique (arr) {
// let obj = {}
// return arr.filter(item => {
// // obj没有这个属性,就往obj去添加
// return obj.hasOwnProperty(item + typeof item) ? false : obj[item + typeof item] = true
// })
// }
// 第四种
// function unique (arr) {
// return [...new Set(arr)]
// }
// 第五种 使用loadsh里的uniq方法
let list = unique(arr)
console.log(list, 21);
浙公网安备 33010602011771号