JS中部分 Array 物件方法介紹
1.concat()
concat() 方法用於連線兩個或多個數組。該方法不會改變現有的陣列,而僅僅會返回被連線陣列的一個副本
<script type="text/javascript"> var a = [1,2,3]; document.write(a.concat(4,5)
); </script>
輸出:
1,2,3,4,5
2.join()
join() 方法用於把陣列中的所有元素(元素是通過指定的分隔符進行分隔的)放入一個字串。
該方法的返回值是一個字串。該字串是通過把 arrayObject 的每個元素轉換為字串,然後把這些字串連線起來,在兩個元素之間插入 separator
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.join()) </script> 輸出: George,John,Thomas
3.pop()
pop() 方法用於刪除並返回陣列的最後一個元素。刪除將會改變陣列的長度!
<script type="text/javascript"> var arr = newArray(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr) document.write("<br />") document.write(arr.pop()) document.write("<br />") document.write(arr) </script>
輸出:
George,John,Thomas Thomas George,John
4.shift()
與pop()方法對應,shift() 方法用於把陣列的第一個元素從其中刪除,並返回第一個元素的值。而且也將改變陣列的長度!
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr + "<br />") document.write(arr.shift() + "<br />") document.write(arr) </script> 輸出: George,John,Thomas George John,Thomas
5.push()
push() 方法可向陣列的末尾新增一個或多個元素,並返回新的長度。
push() 方法可把它的引數順序新增到 arrayObject 的尾部。它直接修改 arrayObject,而不是建立一個新的陣列。push() 方法和 pop() 方法使用陣列提供的先進後出棧的功能。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr + "<br />") document.write(arr.push("James") + "<br />") document.write(arr) </script> 輸出: George,John,Thomas 4 George,John,Thomas,James
6.reverse()
reverse() 方法用於顛倒陣列中元素的順序。該方法會改變原來的陣列,而不會建立新的陣列。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr + "<br />") document.write(arr.reverse()) </script> 輸出: George,John,Thomas Thomas,John,George
7.slice()
slice() 方法可從已有的陣列中返回選定的元素。該方法並不會修改陣列,而是返回一個子陣列,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
如果 end 未被規定,那麼 slice() 方法會選取從 start 到陣列結尾的所有元素。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr + "<br />") document.write(arr.slice(1) + "<br />") document.write(arr) </script> 輸出: George,John,Thomas John,Thomas George,John,Thomas
8.sort()
sort() 方法用於對陣列的元素進行排序。對陣列的引用。請注意,陣列在原陣列上進行排序,不生成副本。
如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。
如果想按照其他標準進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函式應該具有兩個引數 a 和 b,其返回值如下:
若 a 小於 b,在排序後的陣列中 a 應該出現在 b 之前,則返回一個小於 0 的值。
若 a 等於 b,則返回 0。
若 a 大於 b,則返回一個大於 0 的值。
需要注意的是:此方法比較的是元素首字母的ASCII編碼,所以有時候排序會跟想的不太一樣。
<script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" document.write(arr + "<br />") document.write(arr.sort()) </script> 輸出: George,John,Thomas,James,Adrew,Martin Adrew,George,James,John,Martin,Thomas
9.splice()
splice() 方法向/從陣列中新增/刪除專案,然後返回被刪除的專案,該方法會改變原始陣列。
splice() 方法可刪除從 index 處開始的零個或多個元素,並且用引數列表中宣告的一個或多個值來替換那些被刪除的元素。
如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的陣列。
<script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" document.write(arr + "<br />") arr.splice(2,0,"William") document.write(arr + "<br />") </script> 輸出: George,John,Thomas,James,Adrew,Martin George,John,William,Thomas,James,Adrew,Martin
10.toString()
toString() 方法可把陣列轉換為字串,並返回結果。返回值與沒有引數的 join() 方法返回的字串相同。
當陣列用於字串環境時,JavaScript 會呼叫這一方法將陣列自動轉換成字串。但是在某些情況下,需要顯式地呼叫該方法。
陣列中的元素之間用逗號分隔。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.toString()) </script> 輸出: George,John,Thomas