JAVA数组扁平化整合_JS数组扁平化(flat)方法总结详解
需求:多维数组=>一维数组
let ary = [1, [2, [3, [4, 5]]], 6];
let str = JSON.stringify(ary);
第0种处理:直接的调用
arr_flat = arr.flat(Infinity);
第一种处理
ary = str.replace(/(\[\]))/g, '').split(',');
第二种处理
str = str.replace(/(\[\]))/g, '');
str = '[' + str + ']';
ary = JSON.parse(str);
第三种处理:递归处理
let result = [];
let fn = function(ary) {
for(let i = 0; i < ary.length; i++) }{
let item = ary[i];
if (Array.isArray(ary[i])){
fn(item);
} else {
result.push(item);
}
}
}
第四种处理:用 reduce 实现数组的 flat 方法
function flatten(ary) {
return ary.reduce((pre, cur) => {
return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
})
}
let ary = [1, 2, [3, 4], [5, [6, 7]]]
console.log(ary.MyFlat(Infinity))
第五种处理:扩展运算符
while (ary.some(Array.isArray)) {
ary = [].concat(...ary);
}
这是一个比较实用而且很容易被问到的问题,欢迎大家交流补充。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
JAVA数组扁平化整合_JS数组扁平化(flat)方法总结详解相关推荐
- java中prepend的用法_jQuery中prepend()方法使用详解
prepend()方法将指定元素插入匹配元素按内部的开头,其作用和prependTo()方法基本相同,只在语法上有差别,虽然说在语法形式上看基本相同. 下面介绍下语法结构: $(selector).p ...
- java steam说明_Java 8 Steam API map和flatMap方法使用详解
一对多的提取内容用flatmap,一对一用map java 8 stream api 中有两个方法map和flatMap非常实用,应用场景也非常广泛,能极大提升编程效率.下面我们详细介绍一下这两个方法 ...
- Java中常见RuntimeException与其他异常表及Exception逻辑关系详解
Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...
- Java的JVM运行时栈结构和方法调用详解
详细介绍了Java 的JVM的运行时栈结构,以及和方法调用详解,包括解析调用和分派调用. JVM对于方法的执行是基于栈的,方法调用--入栈,方法调用完毕--出栈,了解JVM的运行时栈结构,有助于我们更 ...
- java调用webservice_笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解...
原标题:笃学私教:Java开发网站架构演变过程-从单体应用到微服务架构详解 Java开发网站架构演变过程,到目前为止,大致分为5个阶段,分别为单体架构.集群架构.分布式架构.SOA架构和微服务架构.下 ...
- SpringBoot2.x整合轻量级分布式定时任务ShedLock3.x的使用详解
目录 前言 SpringBoot2.x整合轻量级分布式定时任务ShedLock3.x的使用详解 一.关于ShedLock 二.ShedLock的三个核心组件 三.ShedLock使用三步走 四.Spr ...
- java condition详解_Java使用Condition控制线程通信的方法实例详解
Java使用Condition控制线程通信的方法实例详解 发布于 2020-4-20| 复制链接 摘记: 本文实例讲述了Java使用Condition控制线程通信的方法.分享给大家供大家参考,具体如下 ...
- java中北大学ppt总结+课后习题第四章(小宇特详解)
java中北大学ppt总结+课后习题第四章(小宇特详解) 继承 子类与父类 继承是根据现有类创建新的类的机制,由继承而得到的新类称为子类(subclass)或派生类(derived class),被继 ...
- Java调用SMSLib用单口短信猫发送短信详解
技术园地 当前位置:短信猫网站主页 > 技术园地 > [转载]Java调用SMSLib用单口短信猫发送短信详解 发布时间:2017/02/09 点击量:620 SMSLib是Apache的 ...
最新文章
- Codeforces Round #643 (Div. 2)题解
- python 文件和目录操作
- P1101 单词方阵
- SAP OData服务性能测量的几种工具和手段
- MySQL 中事务、事务隔离级别详解
- 我身边的手机应用开发者
- python 长度queue_python:常见的数据结构
- python 使用pexpect实现自动交互示例
- Android工程重新编译问题
- HijackThis日志细解【简明教程增强版】(六)
- Android系统源码分析--Context
- visual studio怎么用_自从用了敏捷,天天在开会?4大Scrum会议如何才能有意义?...
- Altium Designer禁止联网操作说明
- html 在行前显示黑点,Word里有些文字行前面有小黑点是怎么回事?
- 医学统计学第六版笔记
- linux服务器cpu飙高问题排查实践记录
- 欢迎使用Windows安装MySQL(安装版)教程,全网最细
- 视频压缩编码基本原理
- 王衠:爱游戏电视游戏平台将实现宽带支付
- matlab精华(转)
热门文章
- 什么是 SAP Fiori Tools
- SAP Spartacus Table cell显示数据类型的Component决定逻辑
- 有网友提问,关于本地XML转JSON的小工具
- 在Google Cloud platform上的Kubernetes集群部署HANA Express
- SAP UI5 initialization error
- 为什么Note.js 里面没有sap.ui.core.Control.extend()这样的代码,但是runtime有自动生成有
- Fiori navigation list scroll down后自动发OData请求取数据
- where is application controller bound to application main view
- CRM呼叫中心和社交媒体集成的UI错误信息显示机制
- KPI tile在launchpad里正常显示number,但是进不了detail view