分享

前端:JS实现数组去重常用的六种方法介绍

 IT技术分享社区 2022-10-20 发布于江苏

定义变量

let arr = [20,6,13,20,100,8,13,11];let newArr = [];

1、两层循环去重

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

2、includes函数判断去重

for(let i of arr){  if(!newArr.includes(i)){    newArr.push(i)  }}

3、filter循环过滤去重

arr.filter((val,index) => {  if(newArr.indexOf(val) < 0){    newArr.push(val)  }})

4、sort排序去重

arr = arr.sort() // [6,8,11,13,13,20,20,100]for(let i = 0;i < arr.length;i++){  if(i <= arr.length - 1 && arr[i] != arr[i + 1]){    newArr.push(arr[i])  }}

5、ES6 Array.from()方法

console.log(Array.from(new Set(arr))) ;console.log([...new Set(arr)]) ;

6、递归去重

let index = 0arr = arr.sort()function loop(index){  if(index > 1){    if(arr[index] == arr[index - 1]){      arr.splice(index,1)    }    index--    loop(index)  }}loop(arr.length - 1)console.log(arr);

IT技术分享社区

个人博客网站:https://

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多