JavaScript常用数组怎么去重
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,今天小编给大家分享一下JavaScript常用数组怎么去重的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
单机游戏服务器一个月多少钱
科技互联网定义
网络安全国家级
数据库如何统计修改数量
文件服务器文件清单
软件开发有30个员工
网络安全标准设计
网络安全技能短缺影响
研究非洲的数据库
软件开发怎么避免返工
图书管理系统软件开发系统
社区网络安全黑板报
和平精英dns服务器地址
服务器和硬盘一起装系统
pjsip 服务器
单位怎么装服务器
龙华区学it学软件开发
网页放到服务器上
安全风险数据库审批
贵州北斗授时模块服务器虚拟主机
自动分账软件开发
游戏和网络安全的关系
徐州万腾网络技术有限公司
山东计算机网络技术专升本方向
数据库插表延迟一小时
浙江网络安全审计系统咨询哪家好
数据库有关的安全有哪些技术
wbc服务器
access数据库损坏
数据库大作业的数据结构怎么写