总结常用的Array方法
forEach
forEach() 方法对数组的每个元素执行一次提供的函数。
let arr = ['a', 'b', 'c', 'd']
arr.forEach((item) => {
console.log(item)
})
map
map() 方法创建一个新数组,其结果是该数组中的每个元素调用一个提供的函数。
let arr = [1, 2, 3, 4]
let arr2 = arr.map((item) => {
return item*2
})
// arr2 [2, 4, 6, 8]
filter
filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组。
let arr = [15, 12, 30, 25]
arr.filter((item) => {
return item > 18
})
// [30, 25]
every
every() 方法测试数组的所有元素是否都通过了指定函数的测试。
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() 方法测试数组中的某些元素是否通过了指定函数的测试。
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() 方法通过删除现有元素和/或添加新元素来更改数组的内容。
var myFish = ["angel", "clown", "mandarin", "surgeon"]
//从第 2 位开始删除 0 个元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum")
// myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//从第 3 位开始删除 1 个元素
removed = myFish.splice(3, 1)
// myFish:["angel", "clown", "drum", "surgeon"]
reduce
reduce() 方法对累加器和数组的每个值 (从左到右)应用一个函数,以将其减少为单个值。
var flattened = [[0, 1], [2, 3], [4, 5]].reduce( ( acc, cur ) => acc.concat(cur), [] )
// flattened is [0, 1, 2, 3, 4, 5]
indexOf
indexOf()方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。
var a = [2, 9, 9]
a.indexOf(2); // 0
a.indexOf(7); // -1