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

Google 自訂搜尋

Goole 廣告

隨機相片
HoneyMoon_Day2_00081.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

網頁設計 : [轉帖] Java Script 陣列 (Array)

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉帖] Java Script 陣列 (Array)

[轉帖] Java Script 陣列(Array)

陣列是另一種定義變數的方法,它容許我們一次快速地定義多個變數。先看一下在JavaScript中,『標準』的定義變數的方法。假定我們要在JavaScript中定義兩個儲存姓名的變數,我們可以如此做:

<script language="JavaScript">
var x="Alex";
var y="Ivy";
</script>

現在你有10個朋友,而你想寫一支JavaScript的程式來儲存他們的資料,用上述的方法,你必須如此做:

<script>
var x="Alex";
var y="Ivy";
var n="Tom";
var v="Mary";
var m="Nancy";
"
"
"
</script>

若要儲存在這10個資料,你必須想10個不同的變數名稱來儲存這些名字。但使用了陣列,你就可以不必如此痛苦了。陣列只是另一個儲存變數的方法,沒什麼特別的。如果我們以陣列的方法來定義上一個例子,我們必須先了解陣列的語法:

var arrayname=new Array();
//定義一個陣列物件
var arrayname=new Array(9);
//定義一個陣列物件內含10個元素
var arrayname=new Array(1, 2, 3, 4, 5);
//定義一個陣列物件內含5個元素, 起始值為數值1,2,3,4,5
var arrayname=new Array("A", "B");

//定義一個陣列物件內含2個元素, 起始值為字串"A", "B"

例如:

var x=new Array(10);

如果要將姓名儲存在陣列中,我們要再加上下列的定義:

x[0]="Sam";
x[1]="Bob";
x[2]="Joe";
x[3]="Peter";
x[4]="May";
"
"
"
x[9]="George";

在目前的階段,至少我們可以了解到使用陣列的第一個好處了,我們不必想10個變數名稱。往下我們還會介紹另一個使用陣列的好處:易於追蹤資料。

正如你所看到的,我們以[]內的不同數值來代表不同的資料。你可能已經注意到[]內的數值是由0開始的!!!記得這一點。如果你不願意由0開始呢?例如:你的編號是x[3], x[4].....x[11], x[12]。你當然可以如此定義,但你只能在陣列中儲存90個資料,x[10]....x[12]內存的是無意義的東東。

更大的好處是:我們可以很方便的依順序存取資料,例如:如果我們想知道第50個人的資料,我們可以如此做:

<script>
alert(x[49]);
</script>

如果我們不用陣列,很難做到。


資料來源:『老師不在時』網頁設計教學網站
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]JavaScript : Array 列陣
(script removed) Array列陣


約瑟 發表



Arrays(列陣)是 JavaScript 裡面最有用來建造資料庫的方式。在使用 Arrays 之前, 你一定要先了解 Array的計算方式。因為所有 var 的質都是由 0 算起的, 所以 Array 上 var 的數量一定是比Array最大的 index value 還大一。以下的例子會解釋比較容易。

STEP1:【做一個Array】
  1. Arrays 是設定在 var(Variables) 裡面的。所以, 你在做 Array 之前, 你要先寫 var BigCities = new Array(10)。在這裡, 我們把 var 叫做 BigCities, 然後等於 new Array(10)。意思就是說, 我們把 Something 設為 "新" 的 Array, 而 Array 裡面只有到 10 而已。

  2. 可是到這裡我們只有先設一個 Array 的開頭設定而已, 我們現在要加入更多的資料進去。首先, 要是第一行, 我們先把var的質寫在前面變成: BigCities。然後在加入 [0] 在後面。然後在加一個 array的名字....我們叫他 Taipei 吧!
    BigCities[0] = "Taipei"
    這樣就是一個 array 啦! 不過你之前 Array 的 index value 不是說 "十" 嗎? 所以我們就要寫十一列啦!就像這樣: (還記得從零開始吧!) BigCities[0] = "Taipei"
    BigCities[1] = "Tokyo"
    BigCities[2] = "NewYork"
    ....
    BigCities[10] = "LosAngeles"


  3. 嗯, Array作好了, 接下來就是要呼叫Array。我們通常都是用Eventhandler或是Method(方法)來呼叫function 的, 在此, 我們用alert()來呼叫Array。語法如下:

  4. alert("最大的城市是 " + BigCities[2] + ".")

    注意到 + ? 它就是呼叫 Array 用的。大至上就是這樣啦!


STEP2:【程式範例】
  1. 看一下以下程式:








    打入右邊五個城市中其中一個在以下框框裡: (Taipei, Tokyo, New York, Los Angeles, Shanghai)




  2. 以上執行結果請 按這!


STEP3:【程式說明】
  1. 以上程式是 "平行列陣" 的寫法。我們可以很清楚看到我列出兩排 Arrays, 一個是 BigCities, 一個是 Location。在第一個Array中, 我設的 index value 只有 4, 第二個我也是設 4。 這就是為什麼我叫這種Array , 平行列陣。
  2. 首先, 我們先列一個 var 叫做 selectedCity。我們可以看到它是連到以下的 's 裡面。所以也就是說, 我們在 裡面打的東西就等於 selectedCity 這個 var。
  3. 接下來我在列陣下面做一個Function, 用來呼叫Arrays用的。在這Function裡面, 我把 i 設定為 var 後面跟著的數字 (在此程式裡, var 為 BigCites 和 Location) 。我接著又設說只要 i 小於(<) BigCities這 Array 的長度程式就可以執行。
  4. 我們接著又設 if (BigCites[i] == selectedCity) 意指要是我們在 裡面打的要是等於BigCities 裡面其中一個, 就會有更進一步的指令。
    這個Function 新的東西大概就醬。

  5. 以下的大家應該都很熟悉吧! 我們在這用 onClick 這個 eventhandler 來呼叫上面的Function。
  6. Array 大至上就是這樣。如果你還是有點不懂, 你可以在看此篇教學一遍, 或到討論區提出問題。
    如果你懂的話, 請拿以下範例來做練習。用此單元的寫法來做:

    以下是四個行星的基本資料, 做一個網頁, 讓訪客可以輸入行星名稱, 按下按鈕會出現以下的資料。你可以用 alert()來做。

    行星名稱
    離太陽距離
    直徑
    水星
    36,000,000 英哩
    7,700 英哩
    金星
    67,000,000 英哩
    3,100 英哩
    火星
    141,000,000 英哩
    4,200 英哩
    地球
    93,000,000 英哩
    7,920 英哩
試試看吧! 要答案的可以寄信給我喔! joseph_1001@yahoo.com

最後更新日期: 7/14/2001 6:28:40 AM


原文出處: (script removed) Array列陣 -
酷必網
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]JavaScript 多維陣列

/* 本文收錄在「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 多維陣列 ]
前一個主題 | 下一個主題 | 頁首 | | |



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