我們想要了解數組,首先就要先要了解到什么是數據結構,所謂的數據結構就是把數據與數據見的關系按照特定的結構來保存。設計合理的數據結構是解決問題的前提。
了解了數據結構后我們下面來數組的定義:
數組(array)就是一種很常用的保存批量數據的數據結構。也就是說使用單獨的變量名來存儲一系列的值。
1.1創建數組
1 var arr1=[];//定義一個不包含元素的數組 2 var arr2=[25,56,85];//定義一個包含三個元素的數組 3 var arr3=new Array();//定義一個不包含元素的數組(這種寫法是因為js中一切都是對象) 4 var arr4=new Array("tom","maray","lilei")//定義一個包含三個字符串元素的數組
1.2初始化數組
說完數組的定義,那我們就不得不說數組的初始化了
var arr1=[50,60,90,75]; var arr2=new Array("tom","jieke","lilei");
我們也可以先聲明一個空數組然后對他進行賦值
1 var arr1=[]; 2 arr1[0]=55; 3 arr2[1]=78; 4 var arr2=new Array(); 5 arr2[0]="tom"; 6 arr2[1]="jieke"; 7 arr2[3]="lilei";
1.3 length屬性
length 屬性可設置或返回數組中元素的數目。
注意:數組的 length 屬性總是比數組中定義的最后一個元素的下標大1。對於那些具有連續元素,而且以元素 0 開始的常規數組而言,屬性 length 聲明了數組中的元素的個數。
設置 length 屬性可改變數組的大小。如果設置的值比其當前值小,數組將被截斷,其尾部的元素將丟失。如果設置的值比它的當前值大,數組將增大,新的元素被添加到數組的尾部,它們的值為 undefined。
例子:
1 <script type="text/javascript"> 2 3 var arr = new Array(3) 4 arr[0] = "John" 5 arr[1] = "Andy" 6 arr[2] = "Wendy" 7 8 document.write("Original length: " + arr.length) 9 document.write("<br />") 10 11 arr.length=5 12 document.write("New length: " + arr.length) 13 14 </script>
答案:
1 Original length: 3 2 New length: 5
特:因為數組還有另外兩個屬性constructor和prototype,因為在實際的操作中用的不多,所以再次不做贅述,以后案例中用到會在做講解。
二。 array對象的方法(array的API)
2.1concat()---連接兩個或更多的數組,並返回結果。
說明:該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。
語法:
arrayObject.concat(arrayX,arrayX,......,arrayX)
arrayX 必需。該參數可以是具體的值,也可以是數組對象。可以是任意多個。
例子
1 <script type="text/javascript"> 2 3 var a = [1,2,3]; 4 document.write(a.concat(4,5));//1,2,3,4,5 5 6 </script> 7 <script type="text/javascript"> 8 9 var arr = new Array(3) 10 arr[0] = "George" 11 arr[1] = "John" 12 arr[2] = "Thomas" 13 14 var arr2 = new Array(3) 15 arr2[0] = "James" 16 arr2[1] = "Adrew" 17 arr2[2] = "Martin" 18 19 document.write(arr.concat(arr2))//George,John,Thomas,James,Adrew,Martin 20 </script>
2.2 join()方法-----用於把數組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的。
語法:
arrayObject.join(separator)
separator 可選。指定要使用的分隔符。如果省略該參數,則使用逗號作為分隔符。
說明:
返回一個字符串。該字符串是通過把 arrayObject 的每個元素轉換為字符串,然后把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.join())//George,John,Thomas </script> <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.join("."))//George.John.Thomas </script>
1.3 pop()----方法用於刪除並返回數組的最后一個元素。
語法:
arrayObject.pop()
返回值為:arrayObject 的最后一個元素。
說明:
pop() 方法將刪除 arrayObject 的最后一個元素,把數組長度減 1,並且返回它刪除的元素的值。如果數組已經為空,則 pop() 不改變數組,並返回 undefined 值。
1 <script type="text/javascript"> 2 3 var arr = new Array(3) 4 arr[0] = "George" 5 arr[1] = "John" 6 arr[2] = "Thomas" 7 8 document.write(arr)//George,John,Thomas 9 10 document.write("<br />") 11 12 document.write(arr.pop())//Thomas 13 14 document.write("<br />") 15 16 document.write(arr)//George,John 17 18 </script>
1.4 push()方法--可向數組的末尾添加一個或多個元素,並返回新的長度。
語法:
arrayObject.push(newelement1,newelement2,....,newelementX)
newelement1 必需。要添加到數組的第一個元素。
newelement2 可選。要添加到數組的第二個元素。
newelementX 可選。可添加多個元素。
說明:
push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創建一個新的數組。push() 方法和 pop() 方法使用數組提供的先進后出棧的功能。
提示:要想數組的開頭添加一個或多個元素,請使用 unshift() 方法。
例子:
1 <script type="text/javascript"> 2 3 var arr = new Array(3) 4 arr[0] = "George" 5 arr[1] = "John" 6 arr[2] = "Thomas" 7 8 document.write(arr + "<br />")//George,John,Thomas 9 document.write(arr.push("James") + "<br />")//4 10 document.write(arr)//George,John,Thomas,James 11 12 </script>
1.5 reverse()方法---用於顛倒數組中元素的順序。
語法arrayObject.reverse()
注釋:該方法會改變原來的數組,而不會創建新的數組。
例子:
1 <script type="text/javascript"> 2 3 var arr = new Array(3) 4 arr[0] = "George" 5 arr[1] = "John" 6 arr[2] = "Thomas" 7 8 document.write(arr + "<br />")//George,John,Thomas 9 document.write(arr.reverse())//Thomas,John,George 10 11 </script>
1.6 shift()方法---用於把數組的第一個元素從其中刪除,並返回第一個元素的值。
語法
arrayObject.shift()
返回數組原來的第一個元素的值。
注意:如果數組是空的,那么 shift() 方法將不進行任何操作,返回 undefined 值。請注意,該方法不創建新數組,而是直接修改原有的 arrayObject。
提示:要刪除並返回數組的最后一個元素,請使用 pop() 方法。
例子:
1 <script type="text/javascript"> 2 3 var arr = new Array(3) 4 arr[0] = "George" 5 arr[1] = "John" 6 arr[2] = "Thomas" 7 8 document.write(arr + "<br />")//George,John,Thomas 9 document.write(arr.shift() + "<br />")//George 10 document.write(arr)//John,Thomas 11 12 </script>
本文多摘自於w3school中文網,再次感謝此站提供的技術支持。
未完待續。。。。