forEach
一把梭* 有一些历史原因吧,反正归根到底就是自己掌握知识不熟练,今天再给自己一个机会,复习一下。1. for基础的 for 循环方式
forEach() 方法对数组的每个元素执行一次给定的函数。
map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
返回一个新数组,不修改原数组* map 函数返回值为: callback 每次执行后的返回值(包括 undefined)组合起来形成一个新数组4. filter----------filter() 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。
filter 不会改变原数组,它返回过滤后的新数组。
some() 方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。
every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。
const array = [15, 16, 17, 18, 19]
function reducer(previous, current, index, array) {const returns = previous + currentconsole.log(`previous: ${previous}, current: ${current}, index: ${index}, returns: ${returns}`)return returns
}
array.reduce(reducer, '12')
遍历的是数组的索引(即对象的 key)
for of 遍历的是数组元素值
while
&& do while
while
var n = 0
var x = 0
while (n < 3) {n++x += n
}
do while
do statement
while (condition)
创建一个执行指定语句的循环,直到 condition 值为 false。在执行 statement 后检测 condition,所以指定的 statement 至少执行一次。
上来这么多前端八股文,这谁顶得住哦。
深呼吸一下,和我一起简单的捋一下,其实很简单。
我写这篇文章就是希望自己以后在遇到需要遍历的场景的时候,有更多的选择,知道优缺点,选择最合适的方式去遍历。
例如:
1.想修改数组的每一项并得到一个新数组 ==> map(新数组)
2.想过滤数组中符合条件项的数组 ==> filter(新数组)
3.想判断数组是否有符合条件的项 ==> some(布尔值)
4.想判断数组是否都符合某一个条件 ==> every(布尔值)
5.遍历所有的项 ==> forEach(undefined)
6.找到符合某一条件的元素 find (元素)
7.找到符合某一条件的元素索引 findIndex(索引)
8.for
while
do while
for of
随个人喜好使用
9.reduce 函数比较特殊,重点记住它的传参即可