首先定义一个数组,下面的三种方法将都是用该数组操作

// 定义一个数组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种常用方法相关推荐

  1. Js中数组去重的几种方法

    前几天在看前端面试题的时候,其中js部分有个问题是实现数组去重的算法,一开始就想了一两种方法,后来仔细回忆了下这个题,觉得该问题实现方法确实不止局限于一两种方法 ,从不同的角度去看待该问题就会有多种实 ...

  2. JS实现数组去重的八种方法(实用)

    前言 js数组去重是比较常见的数组操作方式之一,网上有很多关于数组去重的博客文章,方法各式各样,但有些方法实用性很差,很容易造成不必要的麻烦,所以我们需要去其糟粕取其精华,下面我们就整理一些比较实用的 ...

  3. html怎么创建数组,js创建数组的三种方法 JS数组去重的几种常见方法

    JS数组有哪几种定义方式? js 里创建一个数组 那几种方式有什么区别吗?a = new Array(); b = []; 性能问题吗?? function clear(arr) { // 1 如何获 ...

  4. Js面试题(一)--js实现数组去重怎么实现?

    方法1.创建一个新的临时数组来保存数组中已有的元素 方法2.使用哈希表存储已有元素 方法3.使用indexof判断数组元素第一次出现的位置是否为当前位置 方法4.先排序再去重 第一种方法和第三种方法都 ...

  5. 数组去重--这几种方法够不?

    数组去重,是校招面试的必考知识点.简单的说,数组去重就是将一个数组中的相同的元素删除,只保留其中的一个.这里的相同其实是一个陷阱,有好多同学只认为值相等即为相同,而忽略类类型的判断.所以大家在进行数组 ...

  6. 前端:JS实现数组去重常用的六种方法介绍

    今天给大家分享JS实现数组去重常用的六种方法,希望对大家能有所帮助! 定义变量 let arr = [20,6,13,20,100,8,13,11]; let newArr = []; 1.两层循环去 ...

  7. java hashmap 去重_java数组去重的两种方法

    我们对于数组元素的使用,有时候在创建数组的初期,并没有考虑过元素的重复问题.当我们想要不重复元素的数组时,就要再进行一步去重的工作.数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet ...

  8. 两个对象数组去重的3种方法

    两个对象数组去重的3种方法 前言 问题描述 解决方案一 解决方案二 解决方案三 前言 前段时间写过JavaScript数组去重最简单的 4 种方案,里面的数组元素是基本类型.本文要讲的数组元素是对象, ...

  9. 数组去重的12种方法总结

    数组去重的11种方法 (1)ES5常用:利用for嵌套for,然后splice去重 function unique(arr) {for (var i = 0; i < arr.length; i ...

最新文章

  1. [经验]无线鼠标和无线键盘真的不能用了?——雷柏的重生之路~
  2. Javascript的闭包及其使用技巧实例
  3. Python搭建静态web服务器
  4. mysql mtq_MySQL基础知识 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
  5. 经典C语言程序100例之九二
  6. awk用法:取列表最后一列
  7. Directed Roads CodeForces - 711D (基环外向树 )
  8. ES6规范 ESLint
  9. Virtools脚本语言(VSL)教程 - 枚举
  10. [转]char * 和字符数组
  11. Mongodb定时备份脚本和清除脚本
  12. #地形剖面图_七年级上册微课 | 地图:地形剖面图与分层设色地形图
  13. MATLAB 添加文件路径
  14. oracle数据库修改连接数
  15. SpringMVC前后台数据传递中Json格式的相互转换(前台显示格式、Json-lib日期处理)及Spring中的WebDataBinder浅析...
  16. 八十九、Java内置函数(常用函数)
  17. your system does not seem to be set up to build kernel modules
  18. 现代前端技术解析:前端三层结构与应用
  19. 辽宁省朝阳市高考成绩查询2021,2021年朝阳高考状元多少分是谁,朝阳高考状元名单资料...
  20. 触摸传递 Touch Delivery

热门文章

  1. Linux堆内存管理深入分析 (上半部)【转】
  2. React全家桶构建一款Web音乐App实战(五):歌曲状态管理及播放功能实现
  3. HDU1262 寻找素数对
  4. OK335xS psplash Screen 移植
  5. 对单个文件禁用arc
  6. 设计模式笔录(一),什么是设计模式
  7. Asp.net 表单打印时的样式设置【原】
  8. Leetcode 278.第一个错误的版本
  9. latex 错误: BibTeX: empty journal in Lv2021
  10. Java_基础(一)