js中实现数组去重的方法

38次阅读

共计 719 个字符,预计需要花费 2 分钟才能阅读完成。

数组去重一般是我们面试中必问的题目,那如何实现数组去重,下面就让我们来看看

1. 使用 ES6 中的 Set 方法实现数组去重
var arr = [1, 2, 3, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 7]
console.log([...new Set(arr)])
console.log(Array.from(arr))
2. 使用 indexOf 方法实现数组去重
function fn(arr) {if (!Array.isArray(arr)) {return}
    var newArr = []
    for (var i = 0; i < arr.length; i++) {if (newArr.indexOf(arr[i]) === -1) {newArr.push(arr[i])
        }
     }
     return newArr
}
var res = fn(arr)
console.log(res)
3. 双重 for 循环,使用 splice 实现数组去重
function fn(arr) {for (var i = 0; i < arr.length; i++) {for (var j = i + 1; j < arr.length; j++) {if (arr[i] === arr[j]) {arr.splice(j, 1)
                j--
            }
        }
    }
}
fn(arr)
console.log(arr)
4. 使用 includes 方法进行数组去重
function fn(arr) {if (!Array.isArray(arr)) {return}
    var newArr = []
    for (var i = 0; i < arr.length; i++) {if (!newArr.includes(arr[i])) {newArr.push(arr[i])
        }
    }
    return newArr
}
var res = fn(arr)
console.log(res)

正文完
 0