1. 程式人生 > >js 陣列函式

js 陣列函式

js相關的陣列函式

1 concat() 方法用於連線兩個或多個數組。

  • 語法
    arrayObject.concat(arrayX,arrayX,……,arrayX)
  • 返回值
    返回一個新的陣列。該陣列是通過把所有 arrayX 引數新增到 arrayObject 中生成的。如果要進行 concat() 操作的引數是陣列,那麼新增的是陣列中的元素,而不是陣列。
<script type="text/javascript">

var a = [1,2,3];
document.write(a.concat(4,5));

</script
>
輸出: 1,2,3,4,5

2 join() 方法用於把陣列中的所有元素放入一個字串。

  • 語法
    arrayObject.join(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());
//沒有引數預設是逗號
</script> 輸出: George,John,Thomas

3 push() 方法可向陣列的末尾新增一個或多個元素,並返回新的長度。

  • 語法
    arrayObject.push(newelement1,newelement2,….,newelementX)
  • 返回值
    把指定的值新增到陣列後的新長度。
<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

4 pop() 方法用於刪除並返回陣列的最後一個元素。

  • 語法
    arrayObject.pop()
  • 返回值
    pop() 方法將刪除 arrayObject 的最後一個元素,把陣列長度減 1,並且返回它刪除的元素的值。如果陣列已經為空,則 pop() 不改變陣列,並返回 undefined 值。
<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

5 shift() 方法用於把陣列的第一個元素從其中刪除,並返回第一個元素的值。

  • 語法
    arrayObject.shift()
  • 返回值
    如果陣列是空的,那麼 shift() 方法將不進行任何操作,返回 undefined 值。
<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

6 unshift() 方法可向陣列的開頭新增一個或更多元素,並返回新的長度。

  • 語法
    arrayObject.unshift(newelement1,newelement2,….,newelementX)
  • 返回值
    arrayObject 的新長度。
<script type="text/javascript">

var arr = new Array()
arr[0] = "George"

arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.unshift("William") + "<br />")
document.write(arr)

</script>

輸出:
George,John,Thomas
4
William,George,John,Thomas

7 splice() 方法向/從陣列中新增/刪除專案,然後返回被刪除的專案。

  • 語法
    arrayObject.splice(index,howmany,item1,…..,itemX)
    引數 描述
    index 必需。整數,規定新增/刪除專案的位置,使用負數可從陣列結尾處規定位置。
    howmany 必需。要刪除的專案數量。如果設定為 0,則不會刪除專案。
    item1, …, itemX 可選。向陣列新增的新專案。
  • 返回值
    Array
在本例中,我們將建立一個新陣列,並向其新增一個元素:

<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
在本例中我們將刪除位於 index 2 的元素,並新增一個新元素來替代被刪除的元素:

<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,1,"William")
document.write(arr)

</script>

輸出:
George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin
在本例中我們將刪除從 index 2 ("Thomas") 開始的三個元素,
並新增一個新元素 ("William") 來替代被刪除的元素:

<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,3,"William")
document.write(arr)

</script>

輸出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

8 sort() 方法用於對陣列的元素進行排序。

  • 語法
    arrayObject.sort(sortby)
  • 返回值
    對陣列的引用。請注意,陣列在原陣列上進行排序,不生成副本。
<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
在本例中,我們將建立一個數組,並按字母順序進行排序:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort())

</script>

輸出:
10,5,40,25,1000,1
1,10,1000,25,40,5


請注意,上面的程式碼沒有按照數值的大小對數字進行排序,
要實現這一點,就必須使用一個排序函式:

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>

輸出:
10,5,40,25,1000,1
1,5,10,25,40,1000

9 reverse() 方法用於顛倒陣列中元素的順序。

  • 語法
    arrayObject.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

10 slice() 方法可從已有的陣列中返回選定的元素。

  • 語法
    arrayObject.slice(start,end)
  • 返回值
    返回一個新的陣列,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
<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

11 toString() 方法可把陣列轉換為字串,並返回結果。

  • 語法
    arrayObject.toString()
  • 返回值
    arrayObject 的字串表示。返回值與沒有引數的 join() 方法返回的字串相同。
<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

總結

對於陣列函式中,新增元素的函式(push,unshift)返回值是陣列長度,相反的,刪除元素的函式(pop,shift)返回值是元素。