將資料存二維陣列

將資料以二維陣列方式存取,第一維是每一筆,第二維是詳細資料,程式實作如下:

假設 result 資料內容如下,每一行表示每一筆,而每一筆的詳細資料由空白分開。

起始時間 結束時間 資料內容A

起始時間 結束時間 資料內容B

起始時間 結束時間 資料內容C

......

將資料以二維陣列方式存取,第一維是每一筆,第二維是詳細資料,程式實作如下:

//宣告全域變數
var array=[];    //起始時間 結束時間 資料內容...
var index;       //目前這筆資料的 index
var arrayRow=[]; //宣告 arrayRow 一維陣列,為 array 的每一筆
var arrayCol=[]; //宣告 arrayCol 一維陣列,為 array 每一筆的詳細資料

//在這邊假設已取得資料內容為 result

arrayRow = result.split("\n");                          //一維陣列
array = new Array(arrayRow.length);                     //定義我們要存放資料的一維陣列(實際上是二維陣列)
for (index = 0; index < arrayRow.length; index++) {     //遍歷一維陣列,並將一維陣列的值通過臨時陣列轉移到二維數組裡面
	arrayCol=new Array(10);                         //定義臨時陣列
	arrayCol= arrayRow[index].split(" ");           //將一維陣列再次拆分,準備存入二維陣列
	array[index] = new Array(arrayCol.length);      //定義將要存放資料的一維陣列的每一個元素都為一個數組(實際上就是定義二維陣列了)
	for (var i = 0; i < arrayCol.length; i++) {     //遍歷臨時陣列將其值存入二維陣列
		array[index][i] = arrayCol[i];          //完成字串轉換為二維陣列
	}
}

參考:

  1. JavaScript多維陣列之一範例
  2. js將字串轉換為一維二維陣列