JavaScript二維陣列轉換成一維陣列
本章節分享一段簡單的程式碼例項,它實現了將二維陣列轉換成一維陣列的功能。
當然在javascript中並沒有二維陣列這個概念,只能夠模擬實現。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var arr = [1, [[2, 3], 4], [5, 6]]; var newAarr = []; var flat = function (a) { var length = a.length; for (var index = 0; index < length; index++) { var item = a[index]; if (typeof item == "object") { flat(item); } else { newAarr.push(item); } } }; flat(arr) console.log(newAarr);
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var arr = [1, [[2, 3], 4], [5, 6]],宣告一個多維陣列。
(2).var newAarr = [],宣告一個空的一維陣列。
(3).var flat = function (a) {},宣告一個函式,引數是陣列,用來實現轉換功能。
(4).var length = a.length,獲取陣列的長度。
(5).for (var index = 0; index < length; index++) {},遍歷陣列中的每一個元素。
(6).var item = a[index],獲取對應索引的元素。
(7).if (typeof item == "object") {
flat(item);
} else {
newAarr.push(item);
},判斷當前元素是否是一個值型別,如果如果是,則直接追加到新陣列,否則繼續遞迴遍歷。
特別說明:
上面的程式碼是有一點點缺陷的,因為陣列元素也可以是物件直接量等。這裡只是一個演示而已,如果要精確判斷陣列元素是否是一個陣列,可以參閱javascript如何判斷一個物件是不是陣列一章節。
相關閱讀:
(1).typeof可以參閱JavaScript typeof 運算子一章節。
(2)push()可以參閱JavaScript push()一章節。
相關文章
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- PHP二維陣列轉一維陣列PHP陣列
- JavaScript --二維陣列查詢一維陣列JavaScript陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- JavaScript二維陣列JavaScript陣列
- JavaScript 二維陣列JavaScript陣列
- Java 二維陣列轉一維Java陣列
- PHP一維陣列轉二維陣列正規表示式PHP陣列
- 如何將一維陣列轉換成與考慮南天陣列元素?陣列
- 二維陣列和稀疏陣列互轉陣列
- 二維陣列陣列
- PHP中二維陣列與多維陣列PHP陣列
- 多維陣列轉一維陣列(降維的多種方式)陣列
- javascript中一維和二維陣列初始化JavaScript陣列
- JavaScript 學習筆記 - 多維陣列變為一維陣列JavaScript筆記陣列
- Java實現普通二維陣列和稀疏陣列的相互轉換Java陣列
- vector 二維陣列陣列
- Java二維陣列Java陣列
- 二維陣列排序陣列排序
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- 一維陣列陣列
- 一維多維陣列陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- javascript如何實現二維陣列效果JavaScript陣列
- C++動態建立二維陣列,二維陣列指標,以及動態二維陣列函式傳遞C++陣列指標函式
- Rust與Java程式碼比較:將二維陣列轉為三維陣列RustJava陣列
- 二維陣列查詢陣列
- php 二維陣列排序PHP陣列排序
- 二維陣列行排序陣列排序
- perl操作二維陣列陣列
- 二維陣列傳參陣列
- 二維樹狀陣列陣列
- 二維陣列練習陣列
- c#簡單實現二維陣列和二維陣列列表List<>的轉置C#陣列
- 陣列004 動態建立一維陣列陣列
- 實現二維陣列的行列互換陣列
- javascript如何將字串轉換成陣列JavaScript字串陣列