`
zlpx
  • 浏览: 153183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用Javascript从一个array中删除重复的元素

阅读更多

下面的例子展示了你如何使用在javascript中使用forEach()和indexOf()的Array的方法从一个Array中删除重复的元素。

 

<!DOCTYPE html>
<html>
<head>
    <title>Removing duplicate elements from an array using JavaScript</title>
</head>
<body>
 
    <div id="debug"></div>
    <script type="text/javascript">
        var arr = ["two", "one", "three", "four", "three", "four", "five", "Three"];
        var uniques = [];
 
        arr.forEach(function(value) {
            if (uniques.indexOf(value) == -1) {
                uniques.push(value);
            }
        });
 
        var str = "unique values: <code>" + uniques.join(", ") + "</code>";
        document.getElementById("debug").innerHTML = str;
    </script>
 
</body>
</html>

 

你也可以把forEach()方法放到一个函数内部。

 

<div id="debug"></div>
<script type="text/javascript">
    var arr = ["two", "one", "three", "four", "three", "four", "five", "Three"];
    var uniques = removeDupes(arr);
 
    var str = "unique values: <code>" + uniques.join(", ") + "</code>";
    document.getElementById("debug").innerHTML = str;
 
    function removeDupes(arr) {
        var nonDupes = [];
        arr.forEach(function(value) {
            if (nonDupes.indexOf(value) == -1) {
                nonDupes.push(value);
            }
        });
        return nonDupes;
    }
</script>
 
分享到:
评论

相关推荐

    javascript中去除数组重复元素的实现方法【实例】

    在实际应用中,我们很多时候都可能需要去除数组中的重复元素,下面就是javascript数组去重的方法实现: [removed] &lt;!-- /*判断数组中是否存在某个元素的方法*/ function isExistInArr(_array, _element){ ...

    JavaScript实现删除数组重复元素的5种常用高效算法总结

    本文实例讲述了JavaScript实现删除数组重复元素的5种常用高效算法。分享给大家供大家参考,具体如下: 这里就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。 1.遍历数组法 最简单的去重方法, 实现...

    javascript删除数组重复元素的方法汇总

    这里分享一个前端面试高频题,主要实现javascript删除数组重复元素。希望对初学者有所帮助 //数组去重的方法 Array.prototype.unique=function(){ //集中声明变量 var oldArr=this, newArr=[oldArr[0]], len=...

    javascript过滤数组重复元素的实现方法

    javascript过滤数组重复元素的实现方法  以下是在网上找的资料,直接在项目中可以使用,大家可以参考下: 实现代码: function filterArray(receiveArray){ var arrResult = new Array(); //定义一个返回结果数组....

    jQuery中inArray方法注意事项分析

    本文分析讲述了jQuery中...jquery的一个方法inArray(ele, array)是判断ele是否在array中存在,返回值是该元素第一次出现在数组array中的下标,没有时返回-1。 例如: var a = 1; var array = [1,2,3]; var b = $.inArra

    javascript文档

    delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法...

    微软JavaScript手册

    delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法...

    JavaScript详解(第2版)

     18.4.1 使用Ajax从文件中获取文本   18.4.2 使用Ajax从文件中获取XML   18.4.3 Ajax和表单   18.5 Ajax和JSON   18.5.1 JSON数据结构   18.5.2 使用JSON的步骤   18.5.3 JSON综合示例   18.5...

    proposal-array-unique:ECMAScript关于阵列重复数据删除方法的建议

    一个索引键参数( Number , String或Symbol ),它将使用键从每个数组元素中获取值,然后根据这些值对原始数组进行重复数据删除; 一个函数参数,它将为每个数组元素调用此函数,然后根据这些返回值对原始数组进行...

    javascript入门笔记

    从弹框中录入一个数字表示考试成绩(score) 如果 成绩为 100 分 ,提示 :满分 如果 成绩 &gt;= 90 分 ,提示 :优 如果 成绩 &gt;= 80 分 ,提示 :良 如果 成绩 &gt;= 60 分 ,提示 :及格 否则 :提示 不及格 2、函数...

    JavaScript 数组的 uniq 方法

    给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。 形式化描述: input Array(size=N) output Array1=Array的无重复保序的子集, 无...

    java面试宝典

    139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 35 140、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)? 36 141、使用useBean标志初始化BEAN时如何接受初始化...

    详解javascript数组去重问题

    首先,我想到的是另建一个结果数组,用来存储原始数组中不重复的数据。遍历原始数组依次跟结果数组中的元素进行比较,检测是否重复。于是乎,我写出了如下代码A: Array.prototype.clearRepetitionA = function(){...

    reinvent-array-methods

    唯一(数组) 此函数返回删除了所有重复元素的数组副本。 它利用了Array.prototype中的以下方法: 每次推指数拼接频率2(数组) 此函数返回单词数组的最常见字母。 它利用了Array.prototype中的以下方法: 每次推...

    leetcode-js:算法和数据结构是一个程序员的灵魂,LeetCode JavaScript TypeScript 题解

    83.删除排序链表中的重复元素 (Remove Duplicates from Sorted List) 88.合并两个有序数组 (Merge Sorted Array) 100.相同的树 (Same Tree) 104.二叉树的最大深度 (Maximum Depth of Binary Tree) 118.杨辉三角 ...

    JavaScript-Algorithm-Training:巩固前端基础知识,了解框架实现原理,数据结构与算法训练

    编程题:不产生新数组,删除数组里的重复元素。 var,let 以及 const 的区别 浅谈作用域链查找机制。 如何实现一个 mini Vuex 呢? Ajax,Axios 以及 Fetch 之间有什么区别? 如何实现 Array.prototype.map? 谈谈 ...

    state-repeat:ng-repeat 的更快替代品,避免元素重绘重排,与 javascript、jquery 或其他库完全兼容

    与 ng-repeat 不同,当数组/对象被新的替换时,该指令将尝试匹配尽可能多的项目/属性,然后重新排序/添加/删除 DOM 元素,而 ng-repeat 将简单地重绘每个元素。 此外,数组/对象由 $scope.$watchCollection 监视,...

    javascript数组去重小结

    前言 最近为了换工作,准备下面试,开始回顾复习JavaScript相关的知识...顾名思义,就是把数组中的每一个元素都和存放元素的数组对比,遇到不重复的元素,放入新数组中,直至循环结束,由于匹配也有循环,也可以称为双

    javascript数组去重方法终极总结

    有时会碰上这种需求,需要将数组中重复的元素删除掉,而只保留一个。最先想到的办法很可能就是用2个for循环来做比较然后去除掉重复的元素,代码如下所示: 方法1: 代码如下:Array.prototype.distinct = function()...

    php网络开发完全手册

    15.4.8 一个完整的查看表中各列属性 15.4.8 的实例 258 15.5 常见问题与解决方案 259 15.6 小结 261 第16章 数据库中的程序逻辑 262 16.1 数据库程序逻辑与PHP程序逻辑的分体 16.1 设计原则 262 16.2 数据库中的程序...

Global site tag (gtag.js) - Google Analytics