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]

最新文章

  1. WPF binding 参考
  2. MVC 伪静态
  3. jqgrid动态显示/隐藏某一列
  4. git初始化
  5. 桥牌笔记:Show up Squeeze显露挤牌法
  6. --hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
  7. BZOJ3834 : [Poi2014]Solar Panels
  8. 低功耗蓝牙4.0BLE编程-nrf51822开发(8)-GATT
  9. javascript 原生事件综合查询
  10. 系统yum源更新及某些软件官方源安装
  11. linux极点五笔无法输入词组_ibus设置
  12. [端API] 控件在一个页面里open了,但其他页面打开这个控件怎么关闭
  13. 【HTML】Advanced7:HTML5 Forms Pt. 2: Attributes and Data Lists
  14. jQuery源代码学习笔记:构造jQuery对象
  15. struct2(一)第一个struct程序
  16. GCD使用汇总
  17. UbuntuNFS服务器配置
  18. 基于uFUN开发板的RGB调色板
  19. php7内核执行流程(转载留记录)
  20. SSO-CAS单点登录

热门文章

  1. Page not found (404) 不被Django的exception中间件捕捉 中间件
  2. TCP介绍
  3. HDU1814和平委员会
  4. 三:SpringBoot-配置系统全局异常映射处理
  5. python--基础3(流程语句)
  6. MySQL安全审计(init_connect)
  7. Deep Learning论文翻译(Nature Deep Review)
  8. 从云数据迁移服务看MySQL大表抽取模式
  9. linux中在某个目录下多个文件中搜索关键字
  10. inceptor es表插入成功,返回报错you should set transaction.type before any DCL statement