打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

定义变量

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://programmerblog.xyz

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数组去重
面试官在“逗”你系列:数组去重你会几种呀?
leetcode - 交换链表中的节点
30.JavaScript数组基础、遍历、底层实现、push、pop、at、length
JS取出两个数组的不同或相同元素
JavaScript 函数用法实例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服