JavaScript常用数组怎么去重
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,今天小编给大家分享一下JavaScript常用数组怎么去重的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
电脑上ftp服务器
小学网络安全策划方案
腾讯云轻量服务器不同账号互联
长恨歌主题软件开发
放一个服务器要来到
卫健委网络安全自查报告
手机锁屏无法连接到服务器
服务器里的远程管理在哪里
人工智能数据库融合
网络安全内容应用安全
简析计算机网络安全现状
夯实网络安全应急处置基础
比较数据库两列大小
怎么看金蝶云服务器
软件开发哪所大学最牛
易语言edb数据库如何相加
网络技术c语言
义乌桌面软件开发工程师
lol加载不了服务器连接不上
化学专业 软件开发
agv调度系统软件开发
http服务器流量管理
k8s重启节点服务器
计算机网络安全专业学费
云数据中心网络技术规划
机顶盒ntp服务器连接异常
观看网络安全知识讲座图片
回顾mysql数据库基础
普陀区互联网络技术服务方案
武汉禹成互联网科技有限公司