使用js给数组去重的3种常用方法
首先定义一个数组,下面的三种方法将都是用该数组操作
// 定义一个数组var arr=['js','js','js','html','js','java','c++','css','html5','c#','c#','css','html','js'];
1.第一种方法
1 Array.prototype.unique1=function(){ 2 for(var i=0;i<this.length-1;i++){ 3 for(var j=1;j<this.length;j++){ 4 if(this[i]==this[i+j]){ 5 this.splice(i+j,1); 6 j--; 7 } 8 } 9 } 10 return arr; 11 } 12 console.log(arr.unique1());
2.第二种方法
1 Array.prototype.unique2=function(){ 2 var n = []; //一个新的临时数组 3 for (var i= 0;i<this.length;i++){ 4 //如果当前数组的第i已经保存进了临时数组,那么跳过, 5 //否则把当前项push到临时数组里面 6 if (n.indexOf(this[i]) == -1) n.push(this[i]); 7 } 8 return n; 9 } 10 console.log(arr.unique2());
3.第三种方法:此方法改变了数组的顺序
1 Array.prototype.unique3 = function(){ 2 this.sort(); 3 var re=[this[0]]; 4 for(var i=1;i<this.length;i++){ 5 if(this[i]!==re[re.length-1]){ 6 re.push(this[i]); 7 } 8 } 9 return re; 10 } 11 console.log(arr.unique3());
转载于:https://www.cnblogs.com/yuanqiao/p/4501126.html
使用js给数组去重的3种常用方法相关推荐
- Js中数组去重的几种方法
前几天在看前端面试题的时候,其中js部分有个问题是实现数组去重的算法,一开始就想了一两种方法,后来仔细回忆了下这个题,觉得该问题实现方法确实不止局限于一两种方法 ,从不同的角度去看待该问题就会有多种实 ...
- JS实现数组去重的八种方法(实用)
前言 js数组去重是比较常见的数组操作方式之一,网上有很多关于数组去重的博客文章,方法各式各样,但有些方法实用性很差,很容易造成不必要的麻烦,所以我们需要去其糟粕取其精华,下面我们就整理一些比较实用的 ...
- html怎么创建数组,js创建数组的三种方法 JS数组去重的几种常见方法
JS数组有哪几种定义方式? js 里创建一个数组 那几种方式有什么区别吗?a = new Array(); b = []; 性能问题吗?? function clear(arr) { // 1 如何获 ...
- Js面试题(一)--js实现数组去重怎么实现?
方法1.创建一个新的临时数组来保存数组中已有的元素 方法2.使用哈希表存储已有元素 方法3.使用indexof判断数组元素第一次出现的位置是否为当前位置 方法4.先排序再去重 第一种方法和第三种方法都 ...
- 数组去重--这几种方法够不?
数组去重,是校招面试的必考知识点.简单的说,数组去重就是将一个数组中的相同的元素删除,只保留其中的一个.这里的相同其实是一个陷阱,有好多同学只认为值相等即为相同,而忽略类类型的判断.所以大家在进行数组 ...
- 前端:JS实现数组去重常用的六种方法介绍
今天给大家分享JS实现数组去重常用的六种方法,希望对大家能有所帮助! 定义变量 let arr = [20,6,13,20,100,8,13,11]; let newArr = []; 1.两层循环去 ...
- java hashmap 去重_java数组去重的两种方法
我们对于数组元素的使用,有时候在创建数组的初期,并没有考虑过元素的重复问题.当我们想要不重复元素的数组时,就要再进行一步去重的工作.数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet ...
- 两个对象数组去重的3种方法
两个对象数组去重的3种方法 前言 问题描述 解决方案一 解决方案二 解决方案三 前言 前段时间写过JavaScript数组去重最简单的 4 种方案,里面的数组元素是基本类型.本文要讲的数组元素是对象, ...
- 数组去重的12种方法总结
数组去重的11种方法 (1)ES5常用:利用for嵌套for,然后splice去重 function unique(arr) {for (var i = 0; i < arr.length; i ...
最新文章
- [经验]无线鼠标和无线键盘真的不能用了?——雷柏的重生之路~
- Javascript的闭包及其使用技巧实例
- Python搭建静态web服务器
- mysql mtq_MySQL基础知识 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
- 经典C语言程序100例之九二
- awk用法:取列表最后一列
- Directed Roads CodeForces - 711D (基环外向树 )
- ES6规范 ESLint
- Virtools脚本语言(VSL)教程 - 枚举
- [转]char * 和字符数组
- Mongodb定时备份脚本和清除脚本
- #地形剖面图_七年级上册微课 | 地图:地形剖面图与分层设色地形图
- MATLAB 添加文件路径
- oracle数据库修改连接数
- SpringMVC前后台数据传递中Json格式的相互转换(前台显示格式、Json-lib日期处理)及Spring中的WebDataBinder浅析...
- 八十九、Java内置函数(常用函数)
- your system does not seem to be set up to build kernel modules
- 现代前端技术解析:前端三层结构与应用
- 辽宁省朝阳市高考成绩查询2021,2021年朝阳高考状元多少分是谁,朝阳高考状元名单资料...
- 触摸传递 Touch Delivery