JavaScript常用数组怎么去重
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天小编给大家分享一下JavaScript常用数组怎么去重的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2026年11月01日JavaScript常用数组怎么去重
今天小编给大家分享一下JavaScript常用数组怎么去重的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
1.利用对象的属性
使用对象属性不重名的特性。
var arr = ["qiang","ming","tao","li","liang","you","qiang","tao"];console.time("nonredundant1");var nonredundant1 = Object.getOwnPropertyNames(arr.reduce(function(seed, item, index) { seed[item] = index; return seed;},{}));console.timeEnd("nonredundant1");console.log(nonredundant1);结果如下:

2. 使用Set数据结构
set是一种类似数组的结构,但是set成员中没有重复的值。set()函数可以接受一个数组或者类数组的参数,生成一个set对象。而Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object和可遍历iterable)的对象包括 ES6 新增的数据结构 Set 和 Map)。
var arr = ["qiang","ming","tao","li","liang","you","qiang","tao"];function unique (arr) { return Array.from(new Set(arr))}console.time("nonredundant2");var nonredundant2 = unique(arr);console.timeEnd("nonredundant2");console.log(nonredundant2);结果如下:

3. 使用for循环和splice
function unique(arr) { for (var i = 0; i < arr.length; i++) { for (var j = i + 1; j < arr.length; j++) { if (arr[i] == arr[j]) { //第一个等同于第二个,splice方法删除第二个 arr.splice(j, 1); j--; } } } return arr;}console.time("nonredundant3");var arr = ["qiang", "ming", "tao", "li", "liang", "you", "qiang", "tao"];var nonredundant3 = unique(arr);console.timeEnd("nonredundant3");console.log(nonredundant3);结果如下:
4.使用indexOf判断去重
function unique(arr) { var array = []; for (var i = 0; i < arr.length; i++) { if (array .indexOf(arr[i]) === -1) { array .push(arr[i]) } } return array;}var arr = ["qiang", "ming", "tao", "li", "liang", "you", "qiang", "tao"];console.time("nonredundant4");var nonredundant4 = unique(arr);console.timeEnd("nonredundant4");console.log(nonredundant4);结果如下:
5.使用sort排序去重
function unique(arr) { arr = arr.sort() var arrry = [arr[0]]; for (var i = 1; i < arr.length; i++) { if (arr[i] !== arr[i - 1]) { arrry.push(arr[i]); } } return arrry;} var arr = ["qiang", "ming", "tao", "li", "liang", "you", "qiang", "tao"];console.time("nonredundant5");var nonredundant5 = unique(arr);console.timeEnd("nonredundant5");结果如下:
6.使用filter
function unique(arr) { var obj = {}; return arr.filter(function(item, index, arr){ return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true) })}var arr = ["qiang", "ming", "tao", "li", "liang", "you", "qiang", "tao"];console.time("nonredundant6");var nonredundant6 = unique(arr);console.timeEnd("nonredundant6");console.log(nonredundant6);结果如下:
7.使用Map数据结构去重
function unique(arr) { let map = new Map(); let array = new Array(); // 数组用于返回结果 for (let i = 0; i < arr.length; i++) { if (map.has(arr[i])) { // 如果有该key值 map.set(arr[i], true); } else { map.set(arr[i], false); // 如果没有该key值 array.push(arr[i]); } } return array;} var arr = ["qiang", "ming", "tao", "li", "liang", "you", "qiang", "tao"];console.time("nonredundant7");var nonredundant7 = unique(arr);console.timeEnd("nonredundant7");console.log(nonredundant7);结果如下:
8.使用reduce和include去重
function unique(arr){ return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);}var arr = ["qiang", "ming", "tao", "li", "liang", "you", "qiang", "tao"];console.time("nonredundant8");var nonredundant8 = unique(arr);console.timeEnd("nonredundant8");console.log(nonredundant8);结果如下:
以上就是"JavaScript常用数组怎么去重"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
结果
数组
对象
知识
篇文章
结构
数据
数据结构
常用
内容
属性
方法
不同
很大
函数
参数
大部分
就是
成员
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司排名
湖北九亚互联网络科技有限公司
上海睿民互联网科技有限公司
国智互联网科技
科技股互联网
科技创新与互联网经济
卓越科技(互联网 )
时间互联网络科技
哈尔滨新华互联网科技
成都玖崟互联网科技有限公司乐商圈怎么样
中化能源互联网科技招聘
互联网和黑科技的看法
千方科技属于互联网企业吗
互联网科技和信息
互联网科技研发水平
徐州市互联网科技有限公司
沐思想互联网科技有限公司
普陀区互联网教育科技管理办法
唯美互联网科技
每日互联网科技新闻
互联网科技海报
哈尔滨大商圈互联网科技有限公司
中关村互联网科技集团
麻工互联网科技
平安科技 互联网
河南住房之家互联网科技
半导体行业属于互联网高科技类吗
山东大美朱楼互联网科技有限公司
众联互联网络科技
利用互联网等科技手段