JavaScript 中攤平成具有文字含義的深度巢狀陣列
我們要求編寫一個 JavaScript 函式,它以巢狀陣列字面量作為唯一引數。該函式應該構建一個新陣列,其中包含輸入陣列中存在的所有字面量元素,但不巢狀。
例如 -
如果輸入陣列是 -
const arr = [ 1, 3, [5, 6, [7, [6, 5], 4], 3], [4] ];
那麼輸出陣列應該是 -
const output = [1, 3, 5, 6, 7, 6, 5, 4, 3, 4];
示例
以下是該程式碼 -
const arr = [
1, 3, [5, 6, [7, [6, 5], 4], 3], [4]
];
const flattenArray = (arr = []) => {
const res = [];
for(let i = 0; i < arr.length; i++){
const el = arr[i];
if(Array.isArray(el)){
res.push(...flattenArray(el));
}else{
res.push(el);
};
};
return res;
};
console.log(flattenArray(arr));輸出
以下是控制檯上的輸出 -
[ 1, 3, 5, 6, 7, 6, 5, 4, 3, 4 ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP