Skip to content

Js全部循环方法解析

forEach方法

没有返回值,与 for 循环没有什么区别。

javascript
[1,2,3,4,5,6,7,8,9,0].forEach(item => {
    console.log(item);
})

map方法

返回一个新数组,不改变原数组。通过return内的操作后的数据

javascript
const newArr = [1,2,3,4,5,6,7,8,9,0].map(item => {
    return item + 1
})

filter方法

返回一个新数组,通过return 返回过滤操作后的数据

javascript
const newArr = [1,2,3,4,5,6,7,8,9,0].map(item => {
    return item > 5
})

// 存在一种隐式转换的情况,直接运行 Boolean(item)
const newArr = [1,2,3,4,5,6,7,8,9,0].map(item => {
    return item;
})

reduce方法

遍历数组返回一个操作后的最终数据。存在initiaVal初始值则从索引 0 开始,不存在则从索引 1 开始。

javascript
[1,2,3,4,5,6,7,8,9,0].reduce((prev, cur, index, arr) => {
    return prev + cur;
})
// 运行结果 45
1 + 2
3 + 3
6 + 4
10 + 5
15 + 6
21 + 7
28 + 8
36 + 9
45 + 0

[1,2,3,4,5,6,7,8,9,0].reduce((prev, cur, index, arr) => {
    return prev + cur;
}, 5);
// 运行结果 50
5 + 1
6 + 2
8 + 3
11 + 4
...
50 + 0

some方法

遍历数组是否符合规则,存在一个符合规则的则结果为 true。如果存在一个判断为 true,则后续不再执行。

javascript
[1,2,3,4,5,6,7,8,9,0].some(item => {
    return item > 5
});

every方法

遍历数组是否符合规则,全部符合规则结果为 true。

javascript
[1,2,3,4,5,6,7,8,9,0].every(item => {
    return item > 5
});

find方法

获取数组中符合规则的那一个。

javascript
[1,2,3,4,5,6,7,8,9,0].find(item => {
    return item > 5
})
// 运行结果为6

findIndex方法

获取数组中符合规则的那一个的索引

javascript
[1,2,3,4,5,6,7,8,9,0].findIndex(item => {
    return item > 5
})
// 运行结果为5