js陣列常用方法
splice()
向/從陣列中新增/刪除專案,然後返回被刪除的專案。
該方法會改變原始陣列。
splice(index,0,howmany,item1, ..., itemX)
第一個引數定義了應新增新元素的位置(拼接)。
第二個引數定義應刪除多少元素。
其餘引數(“Lemon”,“Kiwi”)定義要新增的新元素。
splice()方法返回一個包含已刪除項的陣列:
刪除指定元素:
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
獲取陣列中物件所在的索引值:
let data = [{
id:1,
name:"小紅"
},{
id:2,
name:"小明"
}];
data.indexOf(data.filter(d=>d.id == 1)[0]) //index:0
concat(val1,val2)
通過合併(連線)現有陣列來建立一個新陣列:
concat()方法不會更改現有陣列。它總是返回一個新陣列。
concat()方法可以使用任意數量的陣列引數:
例如:
var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys); // 連線 myGirls 和 myBoys
獲取陣列並集、交集、差集
// 並集
let union = a.concat(b.filter(v => !a.includes(v))) // [1,2,3,4,5]
// 交集
let intersection = a.filter(v => b.includes(v)) // [2]
// 差集
let difference = a.concat(b).filter(v => a.includes(v) && !b.includes(v)) // [1,3]
slice()
用陣列的某個片段切出新陣列。
可接受兩個引數,比如 (1, 3)。([1,3))
該方法會從開始引數選取元素,直到結束引數(不包括)為止。
註釋:slice()方法不會改變原始陣列。
filter()
返回陣列中所有符合條件的元素
filter() 方法建立一個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。
注意:filter() 不會對空陣列進行檢測。
注意:filter() 不會改變原始陣列。
引數為一個返回Boolean值的回撥函式
map()
map() 方法返回一個新陣列,陣列中的元素為原始陣列元素呼叫函式處理後的值。
map() 方法按照原始陣列元素順序依次處理元素。
注意:map() 不會對空陣列進行檢測。
注意:map() 不會改變原始陣列。
arr.map(item => {
item = ‘asd’
return item
})
find()
方法返回符合條件的第一個元素
當陣列中的元素在測試條件時返回true時, find() 返回符合條件的元素,之後的值不會再呼叫執行函式。
如果沒有符合條件的元素返回 undefined
注意:find() 對於空陣列,函式是不會執行的。
注意:find() 並沒有改變陣列的原始值。
本文來自部落格園,作者:懶得想名字丶丶,轉載請註明原文連結:https://www.cnblogs.com/wywblogs/p/15403437.html