JS 多维数组转一维数组

Wesley13
• 阅读 434

将[1,2,[3,4,[5,6],7],8]转成怎[1,2,3,4,5,6,7,8]  

1、最简单方法

[1,2,[3,4,[5,6],7],8].toString().split(',')

// ->["1", "2", "3", "4", "5", "6", "7", "8"]

2、reduce递归

function toArray(a){
    return a.reduce((res,current)=>{
        return Array.isArray(current)?[...res,...toArray(current)]:[...res,current]
    },[])
}
toArray([1,2,[3,4,[5,6],7],8])

// -->[1, 2, 3, 4, 5, 6, 7, 8]

3 、字符串

JSON.stringify([1,2,[3,4,[5,6],7],8]).replace(/\[|\]/g,'').split(',')

// -->[1, 2, 3, 4, 5, 6, 7, 8]
点赞
收藏
评论区
推荐文章
皮卡皮卡皮 皮卡皮卡皮
2年前
javaScript 数组常用的几个方法
数组的方法总结1.数组转换字符串1.toString()2.toLocaleString()3.join()jsconstarr1,5,6,9,3,2,4,6console.log('toString'arr.toString())//toString1,5,6,9,3,2,4,6console.log('toLocaleSt
Karen110 Karen110
2年前
盘点Python列表生成式的三种方法
一、前言列表生成式即ListComprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。二、案例分析三种方法要生成list\1,2,3,4,5,6,7,8,9,10\可以用list(range(1,11))。print(list(range(1,11)))如果要生成\1x1,2x2
Wesley13 Wesley13
2年前
java中几种排序的实现
1.最简单的冒泡排序/\\\冒泡排序\/publicstaticvoidbubbleSort(){int\\arr{5,8,1,2,9,8,7,4};System.out.println("排序前的数组为:");for(intnum:arr){System.o
Wesley13 Wesley13
2年前
Java开发者容易犯的十个错误
!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
2年前
Python数组操作将一维数组变成二维数组
一、问题我们在进行数组操作的时候会遇到将一个低维的数组变成一个高维的素数组二、解决第一种方法基本思路就是将低维数组进行等长的循环,在第一次为零的情况下,需要添加一个\\数组,原因是将它的基本框架搭建起来1records1,2,3,4,5,6,7,8,9,10,11,12
Wesley13 Wesley13
2年前
Java基础14
1.二位数组可以看成以数组为元素的数组2.java中多维数组的声明和初始化一样,应该从高维到低维的顺序进行,例如1intanewint3;2a0newint2;3a1newint4;4a2newint3;5inttnew
Stella981 Stella981
2年前
ES6 for in与for of 的使用方法及其区别
  // for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。 let arr  \1,2,3,4,5,6,7\    for(let index of arr){     //   console.log(index)//1 2 3 4 5 6 7    }    for(let index in
Wesley13 Wesley13
2年前
Java 中 10 大坑爹功能!
今天我们就来聊一下Java中的10大坑爹功能,它们分别是:1.switch必须加上break才结束2.逻辑运算符的“短路”现象3.数组下标从零开始4.ArrayList遍历删除时报错5.字符转成数字的坑6.while循环体的“障眼法”7.Integer类有缓存8.空方法体导致死循环9.神奇的10.Java注
Wesley13 Wesley13
2年前
5种方式实现数组扁平化
数组扁平化概念数组扁平化是指将一个多维数组变为一维数组1,2,3,4,51,2,3,4,5实现1\.reduce遍历数组每一项,若值为数组则递归遍历,否则concat。functionflatten(arr){