# 1. map()

map() 方法返回一个新数组,数组中的元素为原数组元素调用函数处理后的值。

接收参数:一个具有三个参数的回调函数。

  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身

返回值:返回一个新数组,数组元素由回调函数返回的结果组成。

let list = [1, 2, 3, 4]
let res = list.map(item => item * 2)
console.log(res) // [2, 4, 6, 8]

# 2. filter()

map() 方法类似,对数组中的每个元素执行回调函数,单数返回的数组只包含指定条件为 true 的元素。

接收参数:一个具有三个参数的回调函数。

  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身

返回值:返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。

let list = [1, 2, 3, 4]
let res = list.filter(item => item > 2)
console.log(res) // [3, 4]

# 3. some()

返回一个 boolean ,判断数组是否有元素符合回调函数中的条件,如果有一个元素符合条件,则循环终止

接收参数:一个具有三个参数的回调函数。

  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身
let list = [1, 2, 3, 4]
let res = list.some(item => item > 2)
console.log(res) // true

# 4. every()

返回一个 boolean ,检测数组中所有元素是否符合条件,如果数组中有一个条件不符合条件,则整个表达式返回 false,跳出循环。如果所有的元素都满足元素,则返回 true。

接收参数:一个具有三个参数的回调函数。

  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身
let list = [1, 2, 3, 4]
let res = list.every(item => item > 2)
console.log(res) // false

# 5. reduce()

接收一个函数作为累加器,数组中的每个值开始缩减,最终计算为一个值。

接收参数:一个具有四个参数的回调函数。

  • total:初始值
  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身
let list = [1, 2, 3, 4]
let res = list.reduce((total, item) => {return total + item}, 0)
console.log(res) // 10

# 6. find()

方法返回通过回到函数测试的数组中第一个元素的值。

接收参数:一个具有三个参数的回调函数。

  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身
let list = [1, 2, 3, 4]
let res = list.find(item => item > 2)
console.log(res) // 3

# 7. includes()

用来判断数组中是否包含指定的元素,若果有则返回 true,反之为 false。

接收参数:

  • searchElement:要查找的元素
  • fromIndex:可选,从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。
let list = [1, 2, 3, 4]
let res = list.includes(4)
console.log(res) // true

# 8. forEach()

该方法用于调用数组中的每个元素,并将元素传递给回调函数。

接收参数:一个具有三个参数的回调函数。

  • current value:数组当前元素
  • index:数组当前元素的索引
  • arr:原数组本身
let list = [1, 2, 3, 4]
list.forEach(item => console.log(item))
// 1
// 2
// 3
// 4