茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1672753 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
PIMG_00038.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2009/1/16 3:07:45

/* 本文收錄在「JavaScript 網頁特效應用開發手冊」第二版。 */

[ JavaScript 多維陣列 ]

有時候在使用陣列,我們會希望可以使用多維陣列,但是在 JavaScript 裡,因為陣列以物件的方式宣告,所以無法像 C 一樣,用

int array2d[SIZE][SIZE];

的方式宣告二維陣列。

可是我們可以改採用 C 的宣告動態陣列方法來宣告 JavaScript 的多維陣列(或動態陣列),假設我們要宣告一個二維的陣列,其大小為 5 x 5,那麼其宣告方式如下:

var a = new Array(SIZE);

for(var i = 0; i< SIZE; i++)
 a[i] = new Array(SIZE);

這樣子就會宣告一個陣列,而且其大小為 5 x 5。我們再看一個更詳細範例,它會把陣列元素所在位置的值相加,例如 a[i][j] 的內容值為是 i + j,這是陣列元素的斜對角線編號,從右上看到左下,在相同斜對角線的元素編號均相同,這可以用來判定兩個元素是否在相同的斜對角線上。最後,我們再把陣列內容輸出,並且比較其內容。

網頁 JavaScript 原始碼:

/** 宣告大小為 5 x 5 的二維陣列 **/
var SIZE = 5;
var a = new Array(SIZE);
for(var i = 0; i< SIZE; i++)
 a[i] = new Array(SIZE);


/** 計算二維陣列的斜對角線編號 **/
for(var i = 0; i< SIZE; i++)
 for(var j = 0; j< SIZE; j++)
  a[i][j] = i + j;

/** 輸出二維陣列內容 **/
for(var i = 0; i< SIZE; i++) {
 for(var j = 0; j
< SIZE; j++)
  document.write(a[i][j] + " ");
 document.write("<BR>");
}

用瀏覽器觀看的結果:

0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8

這個範例實用性質不高,只是用來示範要如何宣告多維陣列,但是多維陣列的技巧可以用在很多地方,像是儲存固定格式的資料,例如要儲存一整個班的學生基本資料,學生的基本資料可能會有「姓名」、「學號」、「班別」,這樣我們可以宣告一個二維陣列,其大小為 學生人數 x 3,以第 n 個學生而言, student[n][0] 儲存他的姓名, student[n][1] 儲存學號,student[n][2] 儲存班別。還多很多例子可以舉,但在此就不詳述了。


原文出處:[ JavaScript 多維陣列 ]
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|