對於數組的概念,大家應該都不陌生了吧,早在學校裡我們所學的數學中就應對數組的定義和用法做了詳細的解釋,只不過程式設計語言中對數組的定義和使用略有區別而已,另外數學中並沒有數組的一些屬性和方法。其實我們在講解php語言的時候,已經牽扯到了程式設計語言中數組的概念和用法,而我們今天的教程僅僅是為了加深這種概念,並列舉出數組的一些常用屬性及方法。在上一章節我們主要對日期對象進行了詳細的探討,如果您還沒有來的及讀到上一篇文章,那麼我們這裡有一個快捷通道《javascript之Date日期對象詳解》。
我們先來看看定義數組的標準語句:
- //定義數組的標準語句
- var 數組名稱=new Array()
在定義了數組之後,我們該如何為數組賦值呢?也就是說,我們該如何為建立的數組添加元素呢?
其實我們有三種方法來進行建立,第一種和第二種方法是差不多的,唯一的區別是在數組的參數中增加了元素的數量,請看下面的代碼:
- //我們在建立數組時也可以不在數組參數中加入元素數量
- //如下面的代碼第一句也可以寫成:
- //var carsname=new Array()
- //子寒互動視覺原創教程,轉載請保留原文出處,謝謝合作
- var carsname=new Array(4)
- carsname[0]="寶馬"
- carsname[1]="平治"
- carsname[2]="路虎"
- carsname[3]="悍馬"
除了上面的兩種方法外,我們也可以將數組的元素直接作為參數來進行書寫,其代碼如下:
- var carsname=new Array("寶馬","平治","路虎","悍馬")
建立了數組之後,我們可能需要訪問其數組元素,下面是其標準的訪問語句:
- //訪問數組的第一個元素
- document.write(carsname[0])
除了訪問數組元素之外,有時我們還需要對數組的元素進行重新賦值或修改,請看下面的代碼:
- //根據上面的代碼
- //那麼原來第一個元素為寶馬
- //現在重新對其進行賦值之後
- //數組的第一個元素的值便為賓利了
- mycars[0]="賓利";
對數組的基本用法,我們有所瞭解了之後,就要看看數組的幾種方法了,請看下面的具體講解:
1.使用concat()方法來合并兩個數組:
- <html>
- <body>
- //使用concat()方法來合并兩個數組的樣本
- <script type="text/javascript">
- //第一個數組中包含3個元素
- var myAV = new Array(3)
- arr[0] = "蒼井空"
- arr[1] = "麻生希"
- arr[2] = "波多野結衣"
- //第二個數組中同樣包含3個元素
- var myAV2 = new Array(3)
- arr2[0] = "紅音瑩"
- arr2[1] = "木下柚花"
- arr2[2] = "吉澤明步"
- //將兩個數組進行合并
- document.write(myAV.concat(myAV2))
- //最後輸出結果應為:
- //蒼井空,麻生希,波多野結衣,紅音瑩,木下柚花,吉澤明步
- </script>
- </body>
- </html>
2.使用join()方法來將數組中的所有元素組成一個字串的形式,請看下面的範例程式碼:
- <html>
- <body>
- //將數組中的所有元素組成一個字串
- <script type="text/javascript">
- //建立包含三個元素的數組
- var mystory = new Array(3);
- mystory[0] = "陽光"
- mystory[1] = "月光"
- mystory[2] = "光光"
- //將數組元素連成字串的形式
- //輸出結果為:陽光,月光,光光
- document.write(mystory.join());
- document.write("<br />");
- //更改各個字串之間的間隔符
- //輸出結果為:陽光.月光.光光
- document.write(mystory.join("."));
- </script>
- </body>
- </html>
3.使用sort()方法對數組中的元素進行排序,這種排序我們將從兩種形式進行講解,一種是對字母進行排序,而另外一種則是對數字進行排序,首先讓我們先看怎麼對字母進行排序(按照首字母的順序進行排序,當第一個字元相同時,則從第二位順延),比如下面的代碼:
- <html>
- <body>
- //按照字母順序對數組的元素進行排序
- <script type="text/javascript">
- //建立一個具有6個元素的數組
- var demo = new Array(6)
- demo[0] = "cat"
- demo[1] = "car"
- demo[2] = "more"
- demo[3] = "top"
- demo[4] = "first"
- demo[5] = "god"
- document.write(demo + "<br />")
- //不給sort()任何參數則表示預設的按字母順序進行排列
- //當第一個字母相同,則從第二位依然順延比較
- document.write(demo.sort())
- //因為結果為:car,cat,first,god,more,top
- </script>
- </body>
- </html>
下面我們再來看看對數字進行排序,這樣就要在sort()方法中加入參數了,請看下面的樣本:
- <html>
- <body>
- <script type="text/javascript">
- function demoNumber(x,y)
- {
- return x - y
- }
- var arrdemo = new Array(6)
- arrdemo[0] = "300"
- arrdemo[1] = "60"
- arrdemo[2] = "75"
- arrdemo[3] = "80"
- arrdemo[4] = "980"
- arrdemo[5] = "66"
- document.write(arrdemo + "<br />")
- //注意其參數為我們上面建立的函數
- //結果為:60,66,75,80,300,980
- document.write(arrdemo.sort(demoNumber))
- </script>
- </body>
- </html>
4.for……in判斷語句判斷某個元素是否在數組中,請看下面的樣本:
- <html>
- <body>
- //遍曆數組的用法
- <script type="text/javascript">
- var i
- var carsdemo = new Array()
- carsdemo[0] = "福特"
- carsdemo[1] = "雪弗蘭"
- carsdemo[2] = "標緻"
- for (i in carsdemo)
- {
- document.write(carsdemo[i] + "<br />")
- }
- </script>
- </body>
- </html>
<html>
<body>
<script type="text/javascript">
function demoNumber(x,y)
{
return x - y
}
var arr = new Array(6)
arr[0] = 3
arr[1] = 9
arr[2] = 5
arr[3] = 12
arr[4] = 6
arr[5] = 1
arr[5] = 2
document.write(arr + "<br />")
document.write(arr.sort(demoNumber))
</script>
</body>
</html>
轉自http://www.xmlas.com/javascript-array-object.html