我總結數組中的方法歸為兩類,一種是會改變原數組的,一種是不改變原數組的
這里將會介紹改變原數組的方法
1.pop()移除數組最后一個元素
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.pop(); console.log(fruits) //[ 'Banana', 'Orange', 'Apple' ]
2.push()把元素添加到數組尾部
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Kiwi") 結果輸出 Banana,Orange,Apple,Mango,Kiwi
3.reverse()在原數組中顛倒元素的順序。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.reverse(); 輸出結果 Mango,Apple,Orange,Banana
4.shift ()移除數組的第一個元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.shift() 結果 Orange,Apple,Mango
5.sort ()在原數組中對數組元素進行排序。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); 輸出結果 Apple,Banana,Mango,Orange
6.splice()插入、刪除或替換數組元素。
語法 array.splice(index,howmany,item1,.....,itemX)
index 表示要操作數組的開始位置索引值,必填
howmany 表示要刪除元素的個數 必須是數字 可以是0,如果沒填就是刪除從index 開始到數組的結尾
item1.... 表示要添加到數組中的新值
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var newarray = fruits.splice(2); console.log(fruits) console.log(newarray) 結果是 [ 'Banana', 'Orange' ] [ 'Apple', 'Mango' ] 改變原數組 返回的是被刪除的元素的數組集合
7.unshift()在數組頭部插入元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.unshift("Lemon","Pineapple"); fruits 將輸出: Lemon,Pineapple,Banana,Orange,Apple,Mango
上面7個分別是 添加元素 push unshift 移除元素 pop shift 顛倒順序 reverse 刪除元素 splice 元素排序 sort
8.forEach map filter 等遍歷數組的情況下 ,在遍歷中區修改原數組
這里需要注意的是 在遍歷中修改元素值的時候 有兩種情況 一個是元素值是基本數據類型的 還有一種情況是元素值是引用數據類型的值
第一種情況下 直接去修改基本數據類型的值 是不會改變原數組的,需要借助 index 來實現改變
let arr = [1,3,5,7,9]; arr.forEach(function(item,index,arr){ arr[index] = 30; }) console.log(arr); //輸出 (5) [30, 30, 30, 30, 30]
第二種情況的時候
var fruits = [ { name:'aaa', id: 1 }, { name:'bbb', id:2 } ]; fruits.map(item => { if (item.id === 1){ item.name = 'Banana----new' } }) console.log(fruits)