js 陣列函式
阿新 • • 發佈:2018-11-07
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)返回值是元素。