數組屬性:
length 用法:<數組對象>.length;返回:數組的長度,即數組裏有多少個元素。它等於數組裏最後一個元素的下標加一。
數組方法:
常用方法詳細說明:
數組連接concat()
concat() 方法用於連接兩個或多個數組。此方法返回一個新數組,不改變原來的數組。
語法
arrayObject.concat(array1,array2,...,arrayN)
參數說明:
注意: 該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。
我們創建一個數組,將把 concat() 中的參數連接到數組 myarr 中,代碼如下:
運行結果:<script type="text/javascript"> var mya = new Array(3); mya[0] = "1"; mya[1] = "2"; mya[2] = "3"; document.write(mya.concat(4,5)+"<br>"); document.write(mya); </script>
1,2,3,4,5 1,2,3
我們創建了三個數組,然後使用 concat() 把它們連接起來,代碼如下:<script type="text/javascript"> var mya1= new Array("hello!") var mya2= new Array("I","love"); var mya3= new Array("JavaScript","!"); var mya4=mya1.concat(mya2,mya3); document.write(mya4); </script>
運行結果:hello!,I,love,JavaScript,!
指定分隔符連接數組元素join()
join()方法用於把數組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的。
語法:
arrayObject.join(分隔符)
參數說明:
注意:返回一個字符串,該字符串把數組中的各個元素串起來,用<分隔符>置於元素與元素之間。這個方法不影響數組原本的內容。 我們使用join()方法,將數組的所有元素放入一個字符串中,代碼如下:<script type="text/javascript"> var myarr = new Array(3); myarr[0] = "I"; myarr[1] = "love"; myarr[2] = "JavaScript"; document.write(myarr.join()); </script>
運行結果:I,love,JavaScript
我們將使用分隔符來分隔數組中的元素,代碼如下:<script type="text/javascript"> var myarr = new Array(3) myarr[0] = "I"; myarr[1] = "love"; myarr[2] = "JavaScript"; document.write(myarr.join(".")); </script>
運行結果:I.love.JavaScript
顛倒數組元素順序reverse()
reverse() 方法用於顛倒數組中元素的順序。
語法:
arrayObject.reverse()
注意:該方法會改變原來的數組,而不會創建新的數組。
定義數組myarr並賦值,然後顛倒其元素的順序:
<script type="text/javascript"> var myarr = new Array(3) myarr[0] = "1" myarr[1] = "2" myarr[2] = "3" document.write(myarr + "<br />") document.write(myarr.reverse()) </script>
運行結果:1,2,3 3,2,1
demo
運行結果:<span style="font-size:12px;"><!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Array對象 </title> <script type="text/javascript"> var myarr1= ["我","愛","你"]; document.write((myarr1.reverse()).join("❤")); </script> </head> <body> </body> </html></span>
你❤愛❤我
選定元素slice()
slice() 方法可從已有的數組中返回選定的元素。
語法
arrayObject.slice(start,end)
參數說明:
1.返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
2. 該方法並不會修改數組,而是返回一個子數組。
注意:
1. 可使用負值從數組的尾部選取元素。
2.如果 end 未被規定,那麼 slice() 方法會選取從 start 到數組結尾的所有元素。
3. String.slice() 與 Array.slice() 相似。
我們將創建一個新數組,然後從其中選取的元素,代碼如下:
<script type="text/javascript"> var myarr = new Array(1,2,3,4,5,6); document.write(myarr + "<br>"); document.write(myarr.slice(2,4) + "<br>"); document.write(myarr); </script>
運行結果:1,2,3,4,5,6 3,4 1,2,3,4,5,6
數組排序sort()
sort()方法使數組中的元素按照一定的順序排列。
語法:
arrayObject.sort(方法函數)
參數說明:
1.如果不指定<方法函數>,則按unicode碼順序排列。
2.如果指定<方法函數>,則按<方法函數>所指定的排序方法排序。
myArray.sort(sortMethod);
注意: 該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:
若返回值<=-1,則表示 A 在排序後的序列中出現在 B 之前。
若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
若返回值>=1,則表示 A 在排序後的序列中出現在 B 之後。1.使用sort()將數組進行排序,代碼如下:
<script type="text/javascript"> var myarr1 = new Array("Hello","John","love","JavaScript"); var myarr2 = new Array("80","16","50","6","100","1"); document.write(myarr1.sort()+"<br>"); document.write(myarr2.sort()); </script>
運行結果:Hello,JavaScript,John,love 1,100,16,50,6,80
注意:上面的代碼沒有按照數值的大小對數字進行排序。
2.如要實現這一點,就必須使用一個排序函數,代碼如下:
<script type="text/javascript"> function sortNum(a,b) { return a - b; //升序,如降序,把“a - b”該成“b - a” } var myarr = new Array("80","16","50","6","100","1"); document.write(myarr + "<br>"); document.write(myarr.sort(sortNum)); </script>
運行結果:80,16,50,6,100,1 1,6,16,50,80,100