...
展開運算符(Spread Operator)是 JavaScript 中的一個特性,它允許你將一個陣列或物件拆分成獨立的元素或鍵值對。展開運算符可以應用在多種情況下,使得代碼更加簡潔且易於理解。
以下是 ...
展開運算符的一些常見用法:
展開陣列(Spread Array):
你可以使用展開運算符來將一個陣列中的元素展開成獨立的值,例如:
合併陣列:
展開運算符還可用於合併多個陣列,例如:
陣列複製:
使用展開運算符可以複製一個陣列,而不會影響原始陣列,例如:
創建函數參數列表:
在函數調用時,你可以使用展開運算符來將一個陣列中的元素傳遞給函數作為參數,例如:
物件展開(Spread Object):
除了陣列,展開運算符還可以用於物件,用來合併或複製物件的屬性,例如:
展開運算符是一個功能強大且方便的 JavaScript 特性,可以簡化許多操作,提高代碼的可讀性和可維護性。它在 ES6 中引入,成為了現代 JavaScript 開發中的常見實踐。
Flatten Deeply Nested Array
多維數組是包含整數或其他多維數組的遞歸數據結構。
A multi-dimensional array is a recursive data structure
that contains integers or other multi-dimensional arrays.
展平數組是該數組的一個版本,刪除了部分或全部子數組並替換為該子數組中的實際元素。
A flattened array is a version of that array with some or all of the sub-arrays
removed and replaced with the actual elements in that sub-array.
僅當前嵌套深度小於“n”時才應執行此展平操作。
This flattening operation should only be done
if the current depth of nesting is less than n
.
第一個數組中元素的深度被視為“0”。
The depth of the elements in the first array are considered to be 0
.
請在不使用內置 Array.flat
方法的情況下解決它。
Please solve it without the built-in Array.flat
method.
先了解多維數組、遞迴、嵌套深度等定義
Array.flat
方法的情況下解決它。宣告函式flat,接受一個多維數組arr
和變數n
用以設定展平深度
使用for迴圈遍歷多維陣列arr
,判斷要進行遞迴還是元素放進answer
陣列
如果 n>0 且arr
當前遍歷元素是陣列時進行遞迴
如果 n≤0 就把當前遍歷元素放進answer
陣列
遞迴邏輯處理
遞迴解析1
遞迴解析2