JS 数组去重的几个方法
1 Array.prototype.unique1 = function () { 2 var n = []; //一个新的临时数组 3 for (var i = 0; i < this.length; i++) //遍历当前数组 4 { 5 //如果当前数组的第i已经保存进了临时数组,那么跳过, 6 //否则把当前项push到临时数组里面 7 if (n.indexOf(this[i]) == -1) n.push(this[i]); 8 } 9 return n; 10 }; 11 12 13 Array.prototype.unique2 = function() 14 { 15 var n = {},r=[]; //n为hash表,r为临时数组 16 for(var i = 0; i < this.length; i++) //遍历当前数组 17 { 18 if (!n[this[i]]) //如果hash表中没有当前项 19 { 20 n[this[i]] = true; //存入hash表 21 r.push(this[i]); //把当前数组的当前项push到临时数组里面 22 } 23 } 24 return r; 25 }; 26 27 28 Array.prototype.unique3 = function() 29 { 30 var n = [this[0]]; //结果数组 31 for(var i = 1; i < this.length; i++) //从第二项开始遍历 32 { 33 //如果当前数组的第i项在当前数组中第一次出现的位置不是i, 34 //那么表示第i项是重复的,忽略掉。否则存入结果数组 35 if (this.indexOf(this[i]) == i) n.push(this[i]); 36 } 37 return n; 38 }; 39 40 41 Array.prototype.unique4 = function() 42 { 43 this.sort(); 44 var re=[this[0]]; 45 for(var i = 1; i < this.length; i++) 46 { 47 if( this[i] !== re[re.length-1]) 48 { 49 re.push(this[i]); 50 } 51 } 52 return re; 53 }; 54 55 56 var arr = [1,2,2,2,3,3,4,5]; 57 console.log(arr.unique1()); // [1, 2, 3, 4, 5] 58 console.log(arr.unique2()); // [1, 2, 3, 4, 5] 59 console.log(arr.unique3()); // [1, 2, 3, 4, 5] 60 console.log(arr.unique4()); // [1, 2, 3, 4, 5]
JS 数组去重的几个方法相关推荐
- 原生JS数组去重的几种方法
有时候我们做项目的时候往往会需要把数组里面一些重复的项去掉,但是原生JS有排序,有筛选等等,但是就是没有数组去重怎么办呢? 这能怎么办,自己手动实现嘛.(以下代码直接在原型上添加的的方法,为的就是和原 ...
- js数组去重的4个方法
面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项.据我所知,百度.腾讯.盛大等都在面试里出过这个题目. 这个问题看起来简单,但是其实暗藏杀机. 考的不仅仅是实现这个功能,更 ...
- js数组去重的三种常用方法
第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中 Array.pro ...
- js数组去重(9种方法),你都会了吗?
以下共有九种数组去重的方式和详解(包含对象数组去重): 1.利用Array.from(new Set)去重: // 1.利用set去重 // Set是es6新增的数据结构,似于数组,但它的一大特性就是 ...
- JS 数组去重的4个方法
JavaScript 数组去重的方法 方法一: 两层for语句遍历判断 方法二: 通过数组API indexOf()进行筛选 方法三: 通过数组API includes()进行筛选 方法四: 通过Se ...
- js数组 去重的5种方法
// 数组去重 var arr = [1, 2, 2, 3, 4, 4, 5, 6, 7, 7, 4, 3, 5, 7, 11, 12, 11]; var newArr = [];//方法1最优 se ...
- js数组去重的几种方法
// 数组去重1:var arr = [1, 6, 6, 6, 3, 9, 4, 9, 3, 8, 2, 2]var newArr = []console.log(arr, '原数组');var fl ...
- js数组去重的四种方法
四种算法来实现这个目的: Array.prototype.unique1 = function () {var n = []; //一个新的临时数组for (var i = 0; i < thi ...
- js 数组去重的几种方法
1. new Set 的两种方法 let arr = [1, 0, 0, 2, 9, 8, 3, 1];function unique(arr) {return Array.from(new Set( ...
- JS — 数组去重(4种方法)
第一种:双重循环 var strCode='zxcvbnmasdfghjklopiuytrewqAWEDRFTGYHUJIK'; var str=''; for(var i=0;i<4;i++) ...
最新文章
- 怎样快速学习html5,如何快速学习HTML5?带你了解HTML5学什么?
- leetcode算法题--二分查找
- 【解决方案】win10连接wifi输入密码之后用户就消失了
- ubuntu opencv c++ 读取摄像头
- mysql中建立索引的原则_在SQL数据库中设定索引的原则是什么?(注意是设定不是创建)...
- spark基准测试-BigDataBenchs
- 干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
- 前端学习(2664):vue3.0的todolist控制完成和未完成
- python文本编辑器报错_notepad++编辑器中运行python程序时需要注意的编码格式
- openjudge #输出一个整数序列中与指定数字相同的数的个数。
- 直播预告丨 Oracle 12C~19C统计信息的最佳实践
- PHP学习笔记(八)
- STP实验(指定特定交换机为根桥)
- xshell安卓版下载_xshell5手机安卓版下载|Xshell5最新版下载_v5.0.1199_9ht安卓下载
- 性能测试20--Analysis -- 内存与硬盘
- html中的文字透明背景图片,利用css实现背景透明和文字不透明效果汇总
- 婴幼儿体重在线计算机,宝宝测量体重计算器
- 2020国内十大优秀炒外汇平台最新排名
- IC芯片制造过程简介
- Zeus源码解读之定时任务执行与手动执行任务的过程分析
热门文章
- leetcode刷题:相交链表
- go语言defer的作用
- 8 一点就消失_农村即将消失的15个“老物件”,件件充满回忆,全认识说明你老了...
- php怎么调用dll例子,php调用dll的实例操作动画与代码分享_PHP教程
- SpringSecurity AuthenticationManagerProviderManager
- Pandas to_timedelta
- Spark RDD Cache Checkpoint
- C++ 拷贝构造函数
- 实战Veeam Backup Replication 9.5 Upgrade to Veeam Backup Replication 10
- Kubernetes入门培训(内含PPT)-(转)