flat array
2024-10-01 11:03:49
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]
最新文章
- WPF binding 参考
- MVC 伪静态
- jqgrid动态显示/隐藏某一列
- git初始化
- 桥牌笔记:Show up Squeeze显露挤牌法
- --hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- BZOJ3834 : [Poi2014]Solar Panels
- 低功耗蓝牙4.0BLE编程-nrf51822开发(8)-GATT
- javascript 原生事件综合查询
- 系统yum源更新及某些软件官方源安装
- linux极点五笔无法输入词组_ibus设置
- [端API] 控件在一个页面里open了,但其他页面打开这个控件怎么关闭
- 【HTML】Advanced7:HTML5 Forms Pt. 2: Attributes and Data Lists
- jQuery源代码学习笔记:构造jQuery对象
- struct2(一)第一个struct程序
- GCD使用汇总
- UbuntuNFS服务器配置
- 基于uFUN开发板的RGB调色板
- php7内核执行流程(转载留记录)
- SSO-CAS单点登录
热门文章
- Page not found (404) 不被Django的exception中间件捕捉 中间件
- TCP介绍
- HDU1814和平委员会
- 三:SpringBoot-配置系统全局异常映射处理
- python--基础3(流程语句)
- MySQL安全审计(init_connect)
- Deep Learning论文翻译(Nature Deep Review)
- 从云数据迁移服务看MySQL大表抽取模式
- linux中在某个目录下多个文件中搜索关键字
- inceptor es表插入成功,返回报错you should set transaction.type before any DCL statement