数组的9个循环方式:foreach,map,filter,includes,find,findIndex ,some,every,reduce区别
- forEach----只遍历数组, 不返回新数组
- map----对每项元素做改变后,返回新数组
- filter----筛选出符合条件的数组
- includes----判断数组是否含有某值
- find----筛选数组:找元素
- findIndex----筛选数组:找索引
- every----判断数组中每一项是否符合条件(内部return false时跳出整个循环)
- some----判断数组中某些项是否符合条件(内部return true时跳出整个循环)
- reduce----对每项元素做叠加,返回叠加后的值
1,forEach() --- 遍历数组
循环遍历数组,无法break 跳出循环,返回 n 个遍历的对象
let array = [1,2,3,4,5]; array.forEach((item,index)=>{ console.log(item,index) }) // 1,0 // 2,1 // 3,2 // 4,3 // 5,4
2,map() --- 更新数组
让数组通过一个计算产生一个新数组,return 返回一个新数组
let array = [1,2,3,4,5]; let newArr = array.map((item,index)=>{ return item*2 }) console.log(newArr) // [2,4,6,8,10];
3,filter() --- 筛选数组
根据条件筛选出数组中符合的条件的项,return 返回一个新数组
let array = [1,2,3,4,5]; let newArrFilter = array.filter((item,index)=>{ return item >3 }) console.log(newArrFilter) // [4,5]
4,includes() --- 筛选数组
判断数组是否包含某一项,返回 Boolean 值
let array = [1,2,3,4,5]; let includes = array.includes(5) console.log(includes ) // true
5,find() --- 筛选数组
在集合中找到符合条件的元素,跳出循环,return 返回数组中符合的元素
let array = [1,2,3,4,5]; let find = array.find((item,index)=>{ retutn item >2 }) console.log(finds) // 3
6,findIndex() --- 筛选数组
在集合中找到符合条件的元素,跳出循环,return 返回数组中符合元素的序列
let array = [1,2,3,4,5]; let findIndex = array.findIndex((item,index)=>{ retutn item >2 }) console.log(findIndex) // 2
7,every() --- 判断数组
检查数组中每一项是否符合条件,全部都满足才为 true ,return 返回 Boolean
let array = [1,2,3,4,5]; let everyArr1 = array.every((item,index)=>{ retutn item > 0 }) let array = [1,2,3,4,5]; let everyArr2 = array.every((item,index)=>{ retutn item > 3 }) console.log(everyArr1) // true console.log(everyArr1) // false
8,some --- 判断数组
检查数组中每一项是否符合条件,有一个符合则为true,return 返回 Boolean
let array = [1,2,3,4,5]; let someArr1 = array.some((item,index)=>{ retutn item > 1 }) let array = [1,2,3,4,5]; let someArr2 = array.some((item,index)=>{ retutn item > 7 }) console.log(someArr1) // true console.log(someArr1) // false
9,reduce() --- 叠加数组
让数组中前项和后项做某种计算,并累计最终值,retrun 返回一个值
let array = [1,2,3,4,5]; let reduceArr = array.reduce((prev,next)=>{ retutn prev + next }) console.log(reduceArr) // 15(number)