数组去重的首选方法

it2022-05-05  125

数组去重无论是对于面试还是解决实际问题都十分重要的,我在此归纳下常用的数组去重方法。

方法一 indexOf

利用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

利用数组的排序方法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>

方法三 Set

在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>

最新回复(0)