zoukankan      html  css  js  c++  java
  • javascript 巧妙的数组去重

    今天一个群友突然提到了一个问题,个人觉得挺有意思的,就花了几分钟,各位可以先看看

    成都JX(109340****) 20:16:38
    [2,3,4,2,[2,3],[3,4],3]
    如何去重得到【2,3,4】

    那首先是考虑如何去重复,把数组扁平化,一般的想法都是做一个递归,判断数组的层级。我第一下也是这么想的,突然想到之前看到的一个方法,特别有意思,代码如下

    
    ```
    var arr = [2,3,4,2,[2,3],[3,4],3];
    [].concat.apply([], arr) //[2, 3, 4, 2, 2, 3, 3, 4, 3]`
    ```
    各位可以去试试,哈哈
    返回的是`[2, 3, 4, 2, 2, 3, 3, 4, 3]`
    
    ```
    var arr = [2,3,4,2,[2,3],[3,4],3];
    function noRepeat(arr){
    	var res=[];
    	[].concat.apply([],arr).forEach(function(item){if(res.indexOf(item)== -1){res.push(item)}});
    	return res;
    }
    noRepeat(arr);//[2, 3, 4]
    ```
    后面就是去重了,嗯,主要是前面的小技巧哦~
    
  • 相关阅读:
    hibernate入门
    struts文件上传
    Struts的增删改查
    struts入门
    Maven配置以及环境搭配
    layui增删改查
    easyui三
    A
    C. Permutation Cycle
    E
  • 原文地址:https://www.cnblogs.com/nunn/p/3993602.html
Copyright © 2011-2022 走看看