forEach,map和filter的区别
这三种都是对数据进行循环的
听说for循环已经烂大街了所以我赶紧补习一下别的
1.forEach循环,循环数组中每一项并进行简单操作,没有返回值
let arr = [1, 2, 3, 4, 5, 6]
arr.forEach(item => {
item = item + 1
console.log(item)
})
2.map函数,遍历数组每个元素,并回调操作,需要返回值,返回值组成新的数组,原数组不变(用于对数据进行处理 返回新的数组)
let arr = [1, 2, 3, 4, 5, 6]
let newArr = arr.map(item => {
return item + 1
})
console.log(newArr)
3.filter函数, 过滤通过条件的元素组成一个新数组, 原数组不变(用于对数据进行条件筛选,返回新的数组)
let arr = [1, 2, 3, 4, 5, 6]
let newArr = arr.filter(item => {
return item < 5
})
console.log(newArr)
拓展
4.some函数,遍历数组中是否有符合条件的元素,返回Boolean值(如果有一个符合就返回true)
let arr = [1, 2, 3, 4, 5, 6]
let Boolean= arr.some(item => {
return item === 5
})
//true 因为有一项满足条件了
console.log(Boolean)
5,every函数, 遍历数组中是否每个元素都符合条件, 返回Boolean值(如果都符合就返回true)
let arr = [1, 2, 3, 4, 5, 6]
let Boolean = arr.every(item => {
return item === 5
})
//false 因为不是所有项都满足条件
console.log(Boolean)