zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    flat array

    已知如下数组:

    var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
    
    

    编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

    simple

    
    arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
    (4) [Array(3), Array(4), Array(5), 10]
    
    newArr = arr.flat(Infinity);
    (17) [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]
    
    newArr = [...new Set(newArr)];
    (14) [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 10]
    
    newArr.sort((a, b) => a - b > 0 ? 1 : -1);
    (14) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
    
    
    
    
    arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
    (4) [Array(3), Array(4), Array(5), 10]
    
    arrFlat = (arr = []) => {
      let result = [];
      arr.forEach((item, i) => {
       if(Array.isArray(item)) {
         const temp = arrFlat(item)
         result = result.concat(temp);
       } else {
         result.push(item);
       }
      });
      return result;
    }
    
    newArr = arrFlat(arr);
    (17) [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]
    
    ​
    newArr = [...new Set(newArr)];
    (14) [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 10]
    
    newArr.sort((a, b) => a - b > 0 ? 1 : -1);
    (14) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
    
    
    

  • 相关阅读:
    使用cordova开发移动app时用form表单的submit时遇到的问题
    收藏链接
    Hibernate总结
    MyBatis基本应用
    Java中字符串(String)总结
    SpringMVC
    SpringIOC----注解
    栈与堆的区别
    IOS模型
    Java Web容器的启动过程
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/12728661.html
Copyright © 2011-2022 走看看