首先讓我們了解什麼是扁平化數組。扁平數組是一個數組,但這個數組是多維數組、嵌套數組或包含另一個數組的數組的一種形式。
展平是一種有助於將多維數組簡化為一個一維數組(稱為展平)的方法或技術。
有時我們在處理專案或解決問題時需要此類數據,那麼使用扁平數組傳遞資料集組會有所幫助。
範例:
// This is a flattened array let arr = [1,44, [2, [3,9], 67], 9];
解決此類問題的方法有很多種,但在這裡,我將使用遞歸方法進行解釋,這是解決此類問題的最佳方法之一。
在這裡,我不會詳細解釋遞歸,但我會給出一些概述,如果你想了解更多,我會為此創建一個單獨的帖子。
遞歸是一種解決重複類別工作問題的程式設計方法,它直接或間接地呼叫自身,直到不匹配給定的特定條件,如果匹配則函數停止呼叫自身。
// This is a flattened array // Input: let arr = [1,44, [2, [3,9], 67], 9]; // Function Defin function recur(a) { let newArr = []; for (let i =0 ; i < a.length; i++) { const element = a[i]; if (Array.isArray(element)) { // Function calling itself recursion newArr.push(...recur(element)) } else { newArr.push(element) } } return newArr; } console.log(recur(arr)) Output: [1,44,2,3,9, 67, 9] // We can also write the same code using for each: function flattenArray(items) { const flat = []; items.forEach(item => { if (Array.isArray(item)) { flat.push(...flatten(item)); } else { flat.push(item); } }); return flat; } onsole.log(flattenArray(arr)) output: [1,44,2,3,9, 67, 9]
以上是什麼是展平數組以及如何使用 JavaScript 中的遞歸函數來解決展平數組問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!