Javascript数组怎样去重
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍Javascript数组怎样去重,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数组去重1 双层for循环(类似冒泡排序的双层循环写法)var arr = [2,
千家信息网最后更新 2026年10月31日Javascript数组怎样去重
这篇文章主要介绍Javascript数组怎样去重,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
数组去重
1 双层for循环(类似冒泡排序的双层循环写法)
var arr = [2,3,4,2,34,21,1,12,3,4,1]for(var i =0;i2 循环和indexof、循环和includes
创建新数组,循环旧数组,看每次循环的元素是否存在于新数组中没有就把当前元素添加到新数组中
//indexofvar arr = [2,3,4,2,34,21,1,12,3,4,1]var arr2 = []arr.forEach((e)=>{ if(arr2.indexOf(e)==-1){ arr2.push(e) }})console.log(arr2)//arr2:[1, 2, 3, 4, 12, 21, 34]//includesvar arr = [2,3,4,2,34,21,1,12,3,4,1]var arr2 = []arr.forEach((e)=>{ if(!arr2.includes(e)){ arr2.push(e) }})console.log(arr2)//arr2:[1, 2, 3, 4, 12, 21, 34]3 利用对象属性不能重复去重
var arr = [2,3,4,2,34,21,1,12,3,4,1]var obj = {};arr.forEach((e,i)=>{ obj[arr[i]] = "abc"; });var arr2=Object.keys(obj)console.log(arr2)//arr2:["1", "2", "3", "4", "12", "21", "34"]var arr3 = arr2.map(e => ~~e )//arr3:[1, 2, 3, 4, 12, 21, 34]//注意这种方法不仅给数组重新排列而且还改变了数组中元素的类型~是js里的按位取反操作符,~~就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是 ~~true === 1,~~false === 0。
4 ES6 Set
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
var arr = [2,3,4,2,34,21,1,12,3,4,1]var arr1 = [...new Set(arr)]console.log(arr1)//arr1:[1, 2, 3, 4, 12, 21, 34]5 ES6 Array. prototype.filter()
注:indexOf在数组中找元素的时候,碰到符合条件的第一个就会把它的下标返回
var arr = [2,3,4,2,34,21,1,12,3,4,1]var arr2 = arr.filter((e,i)=>{ //看每次循环的元素在数组中出现的第一个下标位置(indexOf返回的位置),和每次循环的元素的下标(filter循环每次的i)是否一致,一致就说明他就是第一个符合条件,不会被过滤掉。 return arr.indexOf(e)==i;})console.log(arr2)//arr2:[1, 2, 3, 4, 12, 21, 34]6 ES6 Array. prototype.reduce()
var arr = [2,3,4,2,34,21,1,12,3,4,1]var arr2 = arr.reduce((pre,e)=>{ //这里当然也可以用indexOf来判断是否存在 pre.includes(e)?pre:pre.push(e); return pre},[])console.log(arr2)//arr2:[1, 2, 3, 4, 12, 21, 34]以上是"Javascript数组怎样去重"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数组
元素
循环
下标
就是
一致
位置
内容
原值
双层
变量
条件
篇文章
相同
以此类推
三个
也就是
二层
价值
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海卓越科技互联网
江苏根荣互联网科技
互联网电商科技
互联网金融公司科技
碳银互联网科技
深圳天众互联网科技公司
互联网科技美容
互联网科技股有哪些
互联网科技有限公司 翻译
互联网和黑科技的看法
湖南一路畅行互联网科技
坤平互联网科技
开一家科技互联网公司需要多少钱
云南省自由互联网科技有限公司
互联网科技快讯热点
陕西云淼互联网科技公司
山东大美朱楼互联网科技有限公司
第三届互联网大会安防黑科技
山东蛋芒互联网科技有限公司
互联网的黑科技实验室
喔噻互联网科技有限公司
科技互联网公司装修
银川新华互联网科技学校地址
广州恒生互联网科技有限
苏州五指互联网络科技有限
同城互联网络科技
青岛互联网科技园
恒生互联网科技趋势
前海云享互联网科技
武汉亿视互联网科技有限公司