1. 程式人生 > >JS中部分 Array 物件方法介紹

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 = new
Array(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