精华内容
下载资源
问答
  • JS去除数组中重复的元素
    2022-03-22 21:50:39

    方法一(Set()方法自带去重):

    var mytest_a = [1,2,3,4,5,1,2,3]
     var arr = new Set(mytest_a)     
       /*  var cb = Array.from(arr)       
        console.log(cb); */       
        var cb2 = [...arr]   //将Set对象转换成数组   
        console.log(cb2);
    

    方法二(使用indexOf()方法去重):

    let mytest_b = [1,2,3,1,2,3]
         let sArr = []     
           mytest_b.forEach((i,d)=>{      
             if(sArr.indexOf(i) == -1){        
                 sArr.push(i)      
              }      
              });    
             console.log('方法二:',sArr);
    

    方法三(使用includes()方法去重):

    var arr = [1,2,NaN,1,4,2,NaN]
            var newArr = [];        
            for (var i = 0; i < arr.length; i++) {
                        if (!newArr.includes(arr[i])) {    
                                newArr.push(arr[i]);            
                        }        
               }        
             console.log(newArr);  // [1, 2, NaN, 4]
    

    注意:
    indexOf()方法无法识别数组的NaN成员,如下示例:

    let mytest_b = [1, 2, 3, 1, 2, 3, NaN, NaN]
            let sArr = []        
            mytest_b.forEach((i, d) => {            
            if (sArr.indexOf(i) === -1) {                
            sArr.push(i)            
            }       
             });        
             console.log('方法二:', sArr);  //结果[1, 2, 3, NaN, NaN]
    
    更多相关内容
  • JS 去掉数组中重复项

    2019-06-02 01:01:04
    NULL 博文链接:https://onestopweb.iteye.com/blog/2324006
  • 主要介绍了JS简单去除数组中重复项的方法,涉及javascript针对数组的遍历、判断与运算相关操作技巧,需要的朋友可以参考下
  • 本文实例讲述了JS基于对象的特性实现去除数组中重复项功能。分享给大家供大家参考,具体如下: 数组去重的方法有很多,不同的方法的效率也不相同。如前面文章JS实现的数组去除重复数据算法小结就总结分析了4种实现...
  • 如何高效率去掉js数组中重复项呢?下面小编就为大家带来一篇高效率去掉js数组中重复项的实现方法。希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了JS实现去除数组中重复json的方法,涉及javascript针对json数组数据的遍历、判断、存取等相关操作技巧,需要的朋友可以参考下
  • 最近, 我在看YAHOO.util.YUILoader类的源码, 其中有个排除数组重复项的方法, 让我觉得甚为巧妙, 这里分享下…
  • JS 去掉数组中重复项

    2016-09-12 17:11:21
    &lt;!DOCTYPE html&gt; &lt;html lang="zh-cn"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&...script&
    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    <script>
    var arr = ["aaa","bbb","aaa","ccc","ddd","ccc"];
    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;
    }
    console.info(unique(arr));
    </script>
    </body>
    </html>
    

     

    效果图:

     

     

     

     

     

     

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

    2020-04-18 10:36:46
    在学习Js的时候经常会用到数组去除重复项的问题 下列将用不同的方法实现去重的问题: 一、利用双重循环和数组splice方法 function unique(arr) { var len = arr.length //第一重控制外部循环次数 for (var i ...

    在学习Js的时候经常会用到数组去除重复项的问题
    下列将用不同的方法实现去重的问题:

    一、利用双重循环和数组splice方法

    	function unique(arr) {
    	  var len = arr.length
    	  //第一重控制外部循环次数
    	  for (var i = 0; i < len; i++) {
    	  	//第二重控制比较次数
    	    for (var j = i + 1; j < len; j++) { //数组中第一项和第二项作比较
    	      if (arr[i] === arr[j]) {
    	        arr.splice(j, 1)
    	        j--   //如果已经有相同项删除时,j应该减去1,在跟后面压进来的值作比较
    	      }
    	    }
    	  }
      return arr
    }
    
    console.log(unique(arr))
    

    二、利用数组重排序后比较相邻的两项

    function unique(arr) {
      if (!Array.isArray(arr)) return  //如果不是数组直接return
      arr = arr.sort()  //数组重排序
      var newArr = []  //新数组存放值
      for (var i = 0; i < arr.length; i++) {
        if (arr[i] != arr[i + 1]) {  //因为数组经过排序,只考虑相邻两项即可
          newArr.push(arr[i])
        }
      }
      return newArr
    }
    console.log(unique(arr))
    

    三、利用indexOf方法进行去重

    function unique(arr) {
      if (!Array.isArray(arr)) return
      var newArr = []
      for (var i = 0; i < arr.length; i++) {
        if (newArr.indexOf(arr[i]) === -1) {  //判断新数组中是否有这个元素,没有就压进新数组
          newArr.push(arr[i])
        }
      }
      return newArr
    }
    console.log(unique(arr))
    

    当然,跟indexOf()具有相同用法的还有includes()方法只需要重写判断语句即可

     if (!newArr.includes( arr[i]))	//返回的是boolean值
    

    四、ES6中set构造函数

    function unique (arr) {
      	return Array.from(new Set(arr)) //Array.from 方法可以将 Set 结构转为数组。
    }
    

    五、reduce函数实现去重

    var newArr = arr.reduce(function (prev, cur) {
        prev.indexOf(cur) === -1 && prev.push(cur);
        return prev;
    },[]);
    

    prev是刚开始在回调函数中定义的空数组
    实现的基本原理如下:

    ① 初始化一个空数组
    ② 将需要去重处理的数组中的第1项在初始化数组中查找,如果找不到(空数组中肯定找不到),就将该项添加到初始化数组中
    ③ 将需要去重处理的数组中的第2项在初始化数组中查找,如果找不到,就将该项继续添加到初始化数组中
    ④ ……
    ⑤ 将需要去重处理的数组中的第n项在初始化数组中查找,如果找不到,就将该项继续添加到初始化数组中
    ⑥ 将这个初始化数组返回

    Js中去除数组重复项实现的方法有很多,但上述方法时比较简单省力的,推荐使用。其中ES6的set()方法最为适用。

    展开全文
  • 下面我们就用js的特性,编写一个高效去除数组重复元素的方法。 代码如下: [removed] function unique(data){ data = data || []; var a = {}; for (var i=0; i<data.length; i++) { var v = data[i]; if (typeof...
  • 代码如下: 题目:要求写一个函数,去掉给定数组重复值。 如: 传入数组 a = [0, 8, 5, 4, 78, 8, 90, 4, ‘a’, ‘b’, ‘a’]; 要求返回:[0,4,5,8,78,90,a,b] 对于这个题目,在面试之后也想了好多次,不过一直...
  • 本文实例分析了JavaScript去掉数组重复项的方法。分享给大家供大家参考,具体如下: 利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复去掉。 object的特性是:key一定是唯一的。 把数组重复...
  • [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]下面是进阶教程与说明,喜欢跟深入的朋友可以参考下。首先让我们看下 YUI 是如何处理的: 代码如下: var toObject = function(a) { var o = {}; for (var i = 0; i &...
  • 今天工作遇到此问题,尝试多个方法不尽人意,故此写个博客来总结一下如何在js中去除重复元素。 Array类型并没有提供去重复的方法,如果要把数组重复元素干掉,那得自己想办法: 方法1: Array.prototype.method1...
  • 主要介绍了JavaScript合并两个数组去除重复项的方法,涉及javascript操作数组的合并与去重的相关技巧,需要的朋友可以参考下
  • 高效率去掉js数组中重复项的方法

    千次阅读 2018-03-30 19:44:27
    Array类型并没有提供去重复的方法,如果要把数组重复元素干掉,那得自己想办法。这是一个高效率去除重复的方法:function hovercUnique(arr) {var result = [], hash = {};for (var i = 0, elem; (elem = arr[i]) ...
    Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法。

    这是一个高效率去除重复的方法:
    function hovercUnique(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;
    //http://hovertree.com
    }

    使用例子效果:
    http://hovertree.com/texiao/jsstudy/4/

    http://hovertree.com/code/dev/lg17a37a.htm

    使用方法:
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>高效率去掉js数组中重复项的特效 - 何问起</title><base target="_blank" />
    <meta charset="utf-8" />
    <style>a{color:deeppink;}</style>
    </head>
    <body>
    <div><a href="http://hovertree.com/">首页</a> <a href="http://hovertree.com/texiao/">特效</a> <a href="http://hovertree.com/h/bjaf/ovjl4eus.htm">原文</a>
    </div>
    <div>
    <script>
    var h_hewenqiArray = new Array();
    h_hewenqiArray[0] = "hovertree";
    h_hewenqiArray[1] = "easysector";
    h_hewenqiArray[2] = "hovertree";
    h_hewenqiArray[3] = "keleyi";
    h_hewenqiArray[4] = "keleyi";
    h_hewenqiArray[5] = "何问起";
    h_hewenqiArray[6] = "hovertree";
    h_hewenqiArray[7] = "hoverclock";
    h_hewenqiArray[8] = "yestop";
    h_hewenqiArray[9] = 163;
    h_hewenqiArray[10] = "何问起";
    h_hewenqiArray[11] = 163;
    h_hewenqiArray[12] = "hoverclock";
    h_hewenqiArray[13] = "何问起";

    var h_arrayLength = h_hewenqiArray.length;
    document.write("原始数组元素个数:"+h_arrayLength + "<br />");
    for (var i = 0; i < h_arrayLength; i++)
    {
    document.write(h_hewenqiArray[i]+"<br />");
    }


    function hovercUnique(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;
    //http://hovertree.com
    }

    var h_hewenqiResult = hovercUnique(h_hewenqiArray);

    var h_resultLength = h_hewenqiResult.length;
    document.write("<br />去重复后数组元素个数:" + h_resultLength + "<br />");
    for (var i = 0; i < h_resultLength; i++) {
    document.write(h_hewenqiResult[i] + "<br />");

    </script>
    </div>
    <div style="border:solid 1px silver"><p>何问起 hovertree.com</p></div>
    </body>
    </html>
    展开全文
  • javascript中,如果删除二维数组中重复的元素
  • JavaScript去除数组中重复的数 问题: 去除下面数组中重复的数字。 [4,6,5,8,2,1,4,6,3,8,1,8,5,6,9,1,5,6,4,2,6] 思路: 去除一个数组中重复数组,首先要对数组进行遍历,对每一个遍历的元素,跟剩下没有遍历的...
  • 近期遇到一个项目,后台反的数据有重复,需要去重,去重的办法很多,这里用到了reduce去除数组中重复数据,亲测可用 首先给大家看下我的数据格式 var list = [ {"id":"1","score":"基础分"}, {"id":"2","score":...
  • JS中去除数组中重复元素的方法

    千次阅读 2019-08-20 20:52:02
    JS中去除数组中重复元素的方法 第一种方法:使用数组中的splice方法 splice():删除元素,并向数组添加新元素,并返回被删除的元素 function f1(){ var _arr=[8,5,0,3,1,8,5,0,3,1,8,8,8,5,2,2,2]; for(n=0;n<_...
  • 主要介绍了JS实现合并两个数组去除重复项只留一个的方法,涉及JavaScript数组合并及去重的相关技巧,需要的朋友可以参考下
  • 可以使用 JavaScript 的 Set 轻松删除重复项。 const removeDuplicates = (arr) => [...new Set(arr)]; console.log(removeDuplicates([1, 2, 3, 3, 4, 4, 5, 5, 6])); // Result: [ 1, 2, 3, 4, 5, 6 ]
  • 1、利用indexOf()方法去除 indexOf() 方法可返回某个指定的字符串值在字符串...splice() 方法用于添加或删除数组中的元素。 注意:这种方法会改变原始数组。 语法:*array*.splice(*index*,*howmany*,*item1*,.....
  • JS JavaScript中去除数组中重复元素的方法 感觉比较好理解的3种方法,总结一下,大家共同学习 方法一: Array.prototype.method1 = function(){ var arr=[]; //定义一个临时数组 for(var i = 0; i < this.length;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,312
精华内容 13,724
关键字:

js去除数组中的重复项