1. 程式人生 > 其它 >陣列扁平化

陣列扁平化

陣列扁平化

1.什麼是陣列扁平化

就是把一個多維陣列轉換為一維陣列

2.實現的基本方式

1、對陣列的每一項進行遍歷
2、判斷該項是否是陣列
3、如果該項不是陣列就要把該項放到一個新數組裡
4、是陣列的話就回到1,繼續迭代
5、陣列遍歷完成,返回新陣列

es6中的flat函式也可以實現陣列的扁平化

let arr1 = [1,2,['a','b',['中','文',[1,2,3,[11,21,31]]]],3];
 console.log( arr1.flat( Infinity ) ); 

擴充套件運算子

//ES6 增加了擴充套件運算子,用於取出引數物件的所有可遍歷屬性,拷貝到當前物件之中:

var
arr = [1, [2, [3, 4]]]; console.log([].concat(...arr)); // [1, 2, [3, 4]] //我們用這種方法只可以扁平一層,但是順著這個方法一直思考,我們可以寫出這樣的方法: // 改進 var arr = [1, [2, [3, 4]]]; function flatten(arr) { while (arr.some(item => Array.isArray(item))) { arr = [].concat(...arr); } return arr; } console.log(flatten
(arr))