總結(jié)常用的Array方法
forEach
forEach() 方法對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)。
let arr = ['a', 'b', 'c', 'd']
arr.forEach((item) => {
console.log(item)
})
map
map() 方法創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素調(diào)用一個(gè)提供的函數(shù)。
let arr = [1, 2, 3, 4]
let arr2 = arr.map((item) => {
return item*2
})
// arr2 [2, 4, 6, 8]
filter
filter() 方法使用指定的函數(shù)測(cè)試所有元素,并創(chuàng)建一個(gè)包含所有通過(guò)測(cè)試的元素的新數(shù)組。
let arr = [15, 12, 30, 25]
arr.filter((item) => {
return item > 18
})
// [30, 25]
every
every() 方法測(cè)試數(shù)組的所有元素是否都通過(guò)了指定函數(shù)的測(cè)試。
let passArr = [15, 8, 25, 2, 30]
let passed = passArr.every((item) => {return item >= 10})
// passed false
passed = [12, 54, 18, 130, 44].every((item) => {return item >= 10})
// passed true
some
some() 方法測(cè)試數(shù)組中的某些元素是否通過(guò)了指定函數(shù)的測(cè)試。
let passArr = [2, 5, 8, 1, 4]
let passed = passArr.some((item) => {return item >= 10})
// passed false
passed = [12, 5, 8, 1, 4].some((item) => {return item >= 10})
// passed true
splice
splice() 方法通過(guò)刪除現(xiàn)有元素和/或添加新元素來(lái)更改數(shù)組的內(nèi)容。
var myFish = ["angel", "clown", "mandarin", "surgeon"]
//從第 2 位開始刪除 0 個(gè)元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum")
// myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//從第 3 位開始刪除 1 個(gè)元素
removed = myFish.splice(3, 1)
// myFish:["angel", "clown", "drum", "surgeon"]
reduce
reduce() 方法對(duì)累加器和數(shù)組的每個(gè)值 (從左到右)應(yīng)用一個(gè)函數(shù),以將其減少為單個(gè)值。
var flattened = [[0, 1], [2, 3], [4, 5]].reduce( ( acc, cur ) => acc.concat(cur), [] )
// flattened is [0, 1, 2, 3, 4, 5]
indexOf
indexOf()方法返回在數(shù)組中可以找到給定元素的第一個(gè)索引,如果不存在,則返回-1。
var a = [2, 9, 9]
a.indexOf(2); // 0
a.indexOf(7); // -1