1.遍历数组法

它是最简单的数组去重方法(indexOf方法)

实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中;

var arr=[,,,,,,,,];

function unique1(arr){

var hash=[];

for (var i = ; i < arr.length; i++) {

if(hash.indexOf(arr[i])==-){

hash.push(arr[i]);

}

}

return hash;

}

2.数组下标判断法

调用indexOf方法,性能和方法1差不多

实现思路:如果当前数组的第 i 项在当前数组中第一次出现的位置不是 i,那么表示第 i 项是重复的,忽略掉。否则存入结果数组。

function unique2(arr){

var hash=[];

for (var i = ; i < arr.length; i++) {

if(arr.indexOf(arr[i])==i){

hash.push(arr[i]);

}

}

return hash;

}

3.排序后相邻去除法

实现思路:给传入的数组排序,排序后相同的值会相邻,然后遍历排序后数组时,新数组只加入不与前一值重复的值。

function unique3(arr){

arr.sort();

var hash=[arr[]];

for (var i = ; i < arr.length; i++) {

if(arr[i]!=hash[hash.length-]){

hash.push(arr[i]);

}

}

return hash;

}

4.优化遍历数组法(推荐)

实现思路:双层循环,外循环表示从0到arr.length,内循环表示从i+1到arr.length

将没重复的右边值放入新数组。(检测到有重复值时终止当前循环同时进入外层循环的下一轮判断)

function unique4(arr){

var hash=[];

for (var i = ; i < arr.length; i++) {

for (var j = i+; j < arr.length; j++) {

if(arr[i]===arr[j]){

++i;

}

}

hash.push(arr[i]);

}

return hash;

}

5.ES6实现

基本思路:ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。

function unique5(arr){

var x = new Set(arr);

return [...x];

}

扩展:如果重复,则去掉该元素

数组下标去重

function unique22(arr){

var hash=[];

for (var i = ; i < arr.length; i++) {

if(arr.indexOf(arr[i])==arr.lastIndexOf(arr[i])){

hash.push(arr[i]);

}

}

return hash;

}

JS遍历数组,实现数组去重(重复的元素只保留一个)

1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[2,8,5, ...

js删除数组中重复的元素

1.方法一 将数组逐个搬到另一个数组中,当遇到重复元素时,不移动,若元素不重复则移动到新数组中 function unique(arr){ var len = arr.length; var resu ...

(转)js在数组中删除重复的元素自保留一个&lpar;两种实现思路&rpar;

例如:var student = [‘qiang','ming','tao','li','liang','you','qiang','tao']; 第一种思路是:遍历要删除的数组arr, 把元素分别放 ...

mysql删除表中重复数据,只保留一个最小的id的记录

语句: delete from table1 where id not in (select minid from (select min(id) as minid from table1 group ...

js原生数组去重

// ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b']; 取消重复的元素 数组去重 (for循环) // 把旧数组里面 不重复的元素选取出来放到新数组中 重复 ...

JS实现数组去重方法大总结

js数组根据对象中的元素去重: var arr2 = [ { name: "name1", num: "1" }, { name: "name2&qu ...

Js对于数组去重提高效率一些心得

最近在找工作,好几次面试都问过数组去重的问题.虽然问的都不一样,但是核心思想是没有变的. 第一种是比较常规的方法 思路: 构建一个新的数组存放结果 for循环中每次从原数组中取出一个元素,用这个元素循 ...

js中数组去重的几种方法

js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                 ...

php删除数组中相同的元素,只保留一个相同元素

随机推荐

App Previews操作经验

App Previews操作经验 http://www.cocoachina.com/ios/20140924/9741.html http://www.cocoachina.com/bbs/read ...

js便签笔记(13)——jsonp其实很简单【ajax跨域请求】

前两天被问到ajax跨域如何解决,还真被问住了,光知道有个什么jsonp,迷迷糊糊的没有说上来.抱着有问题必须解决的态度,我看了许多资料,原来如此... 为何一直知道jsonp,但一直迷迷糊糊的不明白 ...

spin&period;js插件的转圈加载效果

先上插件链接地址:http://fgnass.github.io/spin.js/ 以下是使用spin.js插件的完整版测试例子: ...

&lpar;转载&rpar;提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

使用go reflect实现一套简易的rpc框架

go jsonrpc 在实际项目中,我们经常会碰到服务之间交互的情况,如何方便的与远端服务进行交互,就是一个需要我们考虑的问题. 通常,我们可以采用restful的编程方式,各个服务提供相应的web接 ...

【C&num;】调用2&period;0踩过的坑

1.初始化[DllImport(“libarcsoft_face_engine.dll”, EntryPoint = “ASFInitEngine”, CallingConvention = Call ...

数据库--&gt&semi;记录操作

一.概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现 ...

PULL解析学习

学习过程   安卓中有三种对XML解析的方式,这个众所周知,DOM,SAX,PULL 其中被推荐的方法是PULL,说是非常简单,但从一开始接触就觉得比较迷惑,总是云里雾里的感觉,甚至在自己写出了一个能 ...

js焦点事件&colon;onfocus、onblur、focus&lpar;&rpar;、blur&lpar;&rpar;、select&lpar;&rpar;

焦点:使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入只有能够响应用户操作额元素才可以接收焦点事件,比如:a button input... onfocus:当元素获 ...

python数组重复数据去重_JS实现数组去重(重复的元素只保留一个)相关推荐

  1. JS实现数组去重(重复的元素只保留一个)

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[2,8,5, ...

  2. php 合并重复数据合并,PHP_php合并数组中相同元素的方法,本文实例讲述了php合并数组中 - phpStudy...

    php合并数组中相同元素的方法 本文实例讲述了php合并数组中相同元素的方法.分享给大家供大家参考.具体如下: 关于重复数组的删除我们都介绍过N种方法了,今天这个例子有点不同就是 删除数组中相同的元素 ...

  3. 请编写fun()函数,函数的功能是删去一维数组中相同的数据在一起出现的数,相同的数只保留一个

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p143 7.1.2 上级实训内容 [实训内容13]请编写fun()函数,函数的功能是删去一维数组中相同 ...

  4. php删除数组中相同的元素,只保留一个相同元素

    <?php // 删除数组中相同元素,只保留一个相同元素 function formatArray($array) { sort($array); $tem = "; $temarra ...

  5. speedoffice表格中怎么删除重复数据只保留一个

    工作中,在录入数据时,会出现录入重复的情况,如何找出重复的数据尤为重要.今天一起来学习一下excel怎么删除重复项只保留一个吧 1.首先选中数据区域,单击"数据"选项卡下方&quo ...

  6. Python程序——有一段英文文本,其中有单词连续重复了2次,编写程序检查重复的单词并只保留一个。

    **题目:**假设有一段英文文本,其中有重复的单词,要求去除重复单词,只保留一个,例如"This is is a desk.",程序输出为"This is a desk. ...

  7. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

  8. C++ 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

  9. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 之间的随机整数(N \leq 100N≤100),对于其中重复的数字,只保留一个,把其余相

    自己用了非常朴素的方法将本题解了出来. 三个for循环和两个sort,哈哈哈,xswl. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 NN 个 1 到 1000 ...

最新文章

  1. ui设计师要懂哪些B端设计原则?
  2. MIT长篇论文:我们热捧的AI翻译和自动驾驶,需要用技术性价比来重估
  3. c语言菱形花圃,一种便于自动修剪花圃的电锯支架的制作方法
  4. Hibernate源码阅读2——Service Registry
  5. 关于mount --bind的理解。
  6. idea中提交mapper.xml到svn后代码变灰色
  7. 用CSS3 vh 简单实现DIV全屏居中
  8. LeetCode513 找左下角的值
  9. spring_redis整合
  10. Jmater (十九) 分布式测试(性能测试大并发、远程启动解决方案)
  11. iptables中snat、dnat、masquerade
  12. glibc源码下载在线阅读地址
  13. html方框里打勾,word里如何在□里打√!框框里打勾!!!!!
  14. Mixpanel接入
  15. 计算机科学与工程学院彭骜宇,公派留学联合培养博士生项目校内评审答辩安排...
  16. 学计算机编程我有什么好处,学编程到底有什么好处?我发现了这三个秘密!
  17. 最好的Google表格插件
  18. Linux系统的权限管理
  19. 女模应聘遭遇潜规则 将计就计对面试官实施抢劫
  20. 商品热销排行【项目 商城】

热门文章

  1. JQuery 再谈ajax局部刷新
  2. 别再问我彩票怎么才能中奖了,这个问题让Python给你回答
  3. 如何在PowerPoint中创建组织结构图
  4. Linux系统sed命令详解
  5. hexo简单部署(一次解决hexo测试+上传github问题)
  6. 小游戏——金庸奇侠传(JAVA,对面向对象的进一步了解)
  7. Java的数据类型-基本类型和引用类型
  8. int最大值2147483647
  9. 华为数通笔记-双点双向引入
  10. 骨传导耳机哪个品牌好些、现在最好的骨传导耳机品牌推荐