js 数组扁平化

Posted web前端开发技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 数组扁平化相关的知识,希望对你有一定的参考价值。

// 扁平化简单的二维数组

const arr = [11, [22, 33], [44, 55], 66];

const flatArr = arr.join().split(‘,‘); // ["11", "22", "33", "44", "55", "66"]

主要使用的join方法:

//如果数组中的元素是数组,会将里面的数组也调用join()

let num = [[1,2],3];

let str1 = num.join(‘-‘); // 1,2-3

 

方法2:

// 扁平化简单的二维数组
const arr = [11, [22, 33], [44, 55], 66];

const flatArr = arr.toString().split(‘,‘); // ["11", "22", "33", "44", "55", "66"]

知识点:

[1,[2,‘c‘]].toString(); //1,2,c

// 以上与不使用任何参数调用join()方法返回的字符串是一样的。

 方法3:

flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]

[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]

如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。

[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

 

以上是关于js 数组扁平化的主要内容,如果未能解决你的问题,请参考以下文章

JS数组扁平化

js 数组扁平化

手写一个JS函数,实现数组扁平化Array Flatten

js数组拍平(数组扁平化)的五种方式

-----js实现数组扁平化-----

JS如何实现数组扁平化?不同的方法有什么区别?