ES6 数组方法库
2024-10-09 01:50:27
文章目录
多维数组降维成一维数组
reduce()
var arr1 = [[0, 1], [2, 3], [4, 5]];
var arr2 = arr1.reduce(function (a, b) { return a.concat(b)} );
// arr2 [0, 1, 2, 3, 4, 5]
回调
优点: 多维数组也可以
比如:var arr = [[1,2],3,[[[4], 5]]]
var arr1 = [[0, 1], [2, 3], [4, 5]];
function flatten(arr) { return [].concat( ...arr.map(x => Array.isArray(x) ? flatten(x) : x) ) }
var arr2 = flatten(arr1); // arr2 [0, 1, 2, 3, 4, 5]
flat()
利用 ES 的最新语法,Array.prototype.flat()。缺点是,有兼容性问题(例360浏览器不支持, Chrome支持)。优点是非常简单。
mdn 上是这么描述的:flat() 方法会递归到指定深度将所有子数组连接,并返回一个新数组。
语法:var newArray = arr.flat(depth),参数说明:depth,可选,指定嵌套数组中的结构深度,默认值为1。
var arr1 = [1, 2, [3, 4]];
arr1.flat(); // [1, 2, 3, 4]
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flat(); // [1, 2, 3, 4, [5, 6]]
var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flat(2); // [1, 2, 3, 4, 5, 6]
//Infinity展开所有嵌套数组
arr3.flat(Infinity); // [1, 2, 3, 4, 5, 6]
var arr4 = [1, 2, , 4, 5];
arr4.flat(); // [1, 2, 4, 5]
最新文章
- CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境
- Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)
- cobbler安装、部署、测试
- 9.4用WebApi去连接外部认证服务
- (顺序表的应用5.4.3)POJ 1012(约瑟夫环问题——保证前k个出队元素为后k个元素)
- 作业七:团队项目——Alpha版本冲刺阶段
- 证书与keytool
- jquery------提供灵活的方法参数
- centos7重启rsyslog服务|centos7重启syslog服务
- “PEDIY CrackMe 2007” 下载地址
- Sharepoint 问题集锦 - 外部列表(external list) - 读取当前用户上下文或用户名作为筛选参数
- js中this的四种使用方法
- 【百度地图API】——如何让标注自动呈现在最佳视野内
- 设计模式的征途—11.外观(Facade)模式
- [array] leetcode - 39. Combination Sum - Medium
- 一套强大的vim配置文件+详细注释
- Kindle Windows版本 中文字体修改工具
- 死磕NodeJs之REPL与For Server,我的艰辛的旅程(一)
- java继承-super的用法
- COUNT分组条件去重的sql统计语句示例(mysql)
热门文章
- 企业项目实战 .Net Core + Vue/Angular 分库分表日志系统 | 简单的分库分表设计
- Spring Boot系列(一):Spring Boot快速开始
- 手把手教你写VueRouter
- servlet的生命周期和工作原理介绍
- 【转】Ubuntu下解决Depends: xxx(<; 1.2.1) but xxx is to be installed
- latex:公式的序号
- python数据类型和运算符
- Entity Framework 6 实体某些字段根据模型状态进行自动更新内容
- python爬虫数据提取之bs4的使用方法
- unity2D物理引擎之-Rigidbody 2D