JavaScript数组去重

1、数组去重;

Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法:

方法一:利用indexOf方法;

var aa=[1,3,5,4,3,3,1,4]
function arr(arr) {var result=[]for(var i=0; i<arr.length; i++){if(result.indexOf(arr[i])==-1){result.push(arr[i])}}console.log(result)
}            
arr(aa)

方法二:

function unique(arr) {var result = [], isRepeated;for (var i = 0, len = arr.length; i < len; i++) {isRepeated = false;for (var j = 0, len = result.length; j < len; j++) {if (arr[i] == result[j]) {   isRepeated = true;break;}}if (!isRepeated) {result.push(arr[i]);}}return result;
}

方法二,总体思路是把数组元素逐个搬运到另一个数组,搬运的过程中检查这个元素是否有重复,如果有就直接丢掉。从嵌套循环就可以看出,这种方法效率极低。我们可以用一个hashtable的结构记录已有的元素,这样就可以避免内层循环。恰好,在Javascript中实现hashtable是极为简单的,改进如下:

function unique(arr) {var result = [], hash = {};for (var i = 0, elem; (elem = arr[i]) != null; i++) {if (!hash[elem]) {result.push(elem);hash[elem] = true;}}return result;
}

 

转载于:https://www.cnblogs.com/jone-chen/p/5097969.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257881.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html怎么让方块自动旋转,如何使用纯CSS实现一个圆环旋转错觉的动画效果(附源码)...

本篇文章给大家带来的内容是关于如何使用纯CSS实现一个圆环旋转错觉的动画效果&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。效果预览源代码下载https://github.com/comehope/front-end-daily-challenges代码解读定义 dom&…

同志亦凡人第五季/全集BQueer As Folk 5迅雷下载

同志亦凡人 第五季 Queer as Folk Season 5 (2005) 本季看点&#xff1a;这是一群生活在匹兹堡男人和男人&#xff0c;女人和女人的故事。在他们的王国里有各色人物。王国的国王Brian&#xff08;葛尔?哈罗德 Gale Harold 饰&#xff09;&#xff0c;只追求性不问爱&#xff1…

2016,请不要在公司混日子!

1、无论为谁打工&#xff0c;要为自己学东西&#xff0c;客观上为公司创造价值。 我自己当年&#xff0c;无论我在方正给国内企业工作&#xff0c;还是我在雅虎给外国人工作&#xff0c;我都跟别人最大的不一样&#xff0c;我从来不觉得我在给他们打工&#xff0c;我真的可能是…

数据库作业[定时执行任务]的创建

--每月执行的作业 exec p_createjob jobnamemm,sqlselect * from syscolumns,freqtypemonth --每周执行的作业 exec p_createjob jobnameww,sqlselect * from syscolumns,freqtypeweek --每日执行的作业 exec p_createjob jobnamea,sqlselect * from syscolumns --每日执行的作…

《算法之道》精华 经典算法部分

《算法之道》精华 经典算法部分 本书作者邹恒明&#xff0c;作者另有一本书《数据结构之弦》&#xff0c;以及《操作系统之哲学原理》都是非常好的书这本书能够算得上是深入浅出&#xff0c;文笔非常好。作者加入了非常多自己的思考本文包含经典算法部分第十章 排序与次序 插入…

学生社团网站html,学生社团活动平台的设计与实现.docx

PAGE 67学生社团活动平台的设计与实现摘 要本系统立足于实现社团活动申请与审批、资源申请与审批等工作&#xff0c;面向高校中所有的社团&#xff0c;建立一个使用便捷、可靠的社团活动平台&#xff0c;从而更方便地进行社团活动的申请、社团资源的申请及相应审批&#xff0c;…

tornado 学习笔记17 HTTPServerRequest分析

代表Http请求。 所有的属性都是字符串型。 17.1 属性 (1) method:请求方法类型&#xff0c;比如”GET”、”POST” (2) uri: 请求的uri (3) path:请求路径&#xff0c;作为uri的一部分。 (4) query&#xff1a;查询字符串&#xff1a;作为uri的一部分。 (5) version&#xff1a…

Android 动画效果及Interpolator和AnimationListener的使用

转载http://www.itzhai.com/android-animation-used-to-achieve-control-of-animation-effects-and-use-of-interpolator-and-animationlistener.htmlandroid:interpolator可能有很多人不理解它的用法&#xff0c;文档里说的也不太清楚&#xff0c;其实很简单&#xff0c;看下面…

html怎么使图片无法另存为,如何禁止图片另存为?禁止网页另存为到本地的方法...

在很多企事业单位&#xff0c;处于商业机密保护的需要&#xff0c;常常需要禁止一些文件格式的“另存为”功能&#xff0c;防止通过“另存为”将文件另行保存&#xff0c;据为己有的目的&#xff1b;尤其是在局域网中访问服务器共享文件的时候&#xff0c;常常需要禁止将共享文…

正益工场为京西创客工场输送双创“软”实力

12月30日&#xff0c;中关村门头沟科技园“京西创客工场”正式揭牌&#xff0c;这里将成为京西“生态科创”的聚集地。正益工场作为唯一入驻的“移动互联网”双创生态平台&#xff0c;将为双创输送“移动技术移动模式”等软实力。北京市副市长隋振江、市政协、中关村管委会等领…

【动态规划】【线段树】 Codeforces Round #426 (Div. 1) B. The Bakery

给你一个序列&#xff0c;让你划分成K段&#xff0c;每段的价值是其内部权值的种类数&#xff0c;让你最大化所有段的价值之和。 裸dp f&#xff08;i&#xff0c;j&#xff09;max{f&#xff08;k&#xff0c;j-1&#xff09;w&#xff08;k1&#xff0c;i&#xff09;}&#…

几种服务器端IO模型的简单介绍及实现(转载)

作者&#xff1a;阿凡卢 出处&#xff1a;http://www.cnblogs.com/luxiaoxun/服务器端几种模型&#xff1a; 1、阻塞式模型&#xff08;blocking IO&#xff09; 我们第一次接触到的网络编程都是从 listen()、accpet()、send()、recv() 等接口开始的。使用这些接口可以很方便的…

html细边框表格代码,html中表格细边框的四种实现及其比较.doc

html中表格细边框的四种实现及其比较?html中表格细边框的四种实现及其比较第一种使用css!--- 华丽的分隔线。。 -- .box ?border-top-width: 1px;?border-right-width: 0px;?border-bottom-width: 0px;?border-left-width: 1px;?border-top-style: solid;?border-right-…

margin 等高布局

<div id"main"><div id"left">我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦。。。。<br> 我是左边的内容的啦啦啦啦…

c、c++---linux上的GetTickCount函数

http://blog.csdn.net/guang11cheng/article/details/6865992 http://wenda.so.com/q/1378766306062794

C#判断一个类中有无指定名称的方法

C#中可以通过反射分析元数据来解决这个问题&#xff0c;示例代码如下&#xff1a;12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849using System;using System.Reflection;namespace Hello{class Program{static void Main(string[…

2021年高考成绩查询襄阳状元,大胆猜测一下,2021年高考,湖北省文理状元会花落谁家?...

随着2021年高考的逼近&#xff0c;考生进入紧张有序的复习中&#xff0c;家长也在为孩子筹谋着哪所学校更适合&#xff0c;作为吃瓜群众的我们&#xff0c;可能更关注今年湖北省的文理科状元会花落谁家&#xff0c;要知道&#xff0c;一所学校如果可以出现一名高考状元&#xf…

为什么写Java程序需要接口

为什么写Java程序需要接口 我之所以以这个作为标题&#xff0c;并不是为了玩噱头&#xff0c;讲一些似是而非的空话&#xff0c;还是以探索加发现&#xff0c; 追本溯源的讲解一下为什么Java需要接口&#xff0c;怎么理解&#xff0c;怎么用它。 首先接口并不是Java才有的&…

《领域特定语言》一1.5使用代码生成

1.5使用代码生成 在迄今为止的讨论中&#xff0c;要处理DSL&#xff0c;组装“语义模型”&#xff08;第11章&#xff09;&#xff0c;然后执行语义模型&#xff0c;提供我们希望从控制器得到的行为。在语言圈子里&#xff0c;这种方式称为解释&#xff08;interpretation&…

SVG 基础图形

SVG 基础图形 SVG包含了以下的基础图形元素&#xff1a; 矩形&#xff08;包括可选的圆角&#xff09;&#xff0c;使用<rect>元素创建圆形&#xff0c;使用<circle>元素创建椭圆形&#xff0c;使用<ellipse>元素创建直线&#xff0c;使用<line>元素创…