数组去重无论是对于面试还是解决实际问题都十分重要的,我在此归纳下常用的数组去重方法。
利用indexOf可返回指定字符在字符串中第一次出现的的索引,如果字符串中没有这样的字符,则返回-1
下面展示一些 内联代码片。
<script> function qc(arr) { let newArr = []; for (let i = 0; i < arr.length; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } console.log(newArr) } let arr = [1, 2, 2, 3, 3, 3, 4]; qc(arr); </script>利用数组的排序方法sort先给数组排序,然后遍历,相邻元素对比,相同跳过
<script> function qc(arr) { let newArr = []; arr = arr.sort(); let max = arr.length; for (let i = 0; i < max; i++) { if (arr[i] !== arr[i + 1]) { newArr.push(arr[i]); } } console.log(newArr); } let arr = [111, 2, 2, 3, 3, 3, 4] qc(arr); </script>在ES6中新增Set,特点是数据不能重复,用这个特性来去重
<script> function qc(arr){ arr=[...new Set(arr)]; Array.from(arr); console.log(arr); } let arr=[33,33,22,22,11]; qc(arr); </script>