js 的迭代关系:
1. let arr = [2,45,56,7,8,97,57,34];
let hq =0;
arr.forEach((value)=>{
hq += value
})
console.log(hq);//306
注意点:forEach函数没有返回值,回调函数不需要return,数组中有几个元素,回调函数就会执行几次。
2.filter
返回满足条件的所有项
let arr = [3,6,7,25,76,86,34];
let arr6 =[];
for(let i=0;i<arr.length;i++){
if(arr[i]>20)
arr6.push(arr[i])
}
console.log(arr6);//[25, 76, 86, 34]
let hq =arr.filter((value) =>{
return value>39
})
console.log(hq);//[76, 86]
3.map
对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
let arr = [1,334,54,643,64,78,-6];
let arr1 = arr.map((value) =>{
return value+1
})
console.log(arr1);//[2, 335, 55, 644, 65, 79, -5]
4.every
要每项都满足条件才为true
let hq2 = arr.every((item) =>{
return item>5
})
console.log(hq2);//false
5.some
只要数组中有那一个元素满足条件,就会true
let hq1 = arr.some((item) =>{
return item>5
})
console.log(hq1);//true
findIndex此作用是用于判断第一个元素的元素下标
// 如果找到函数返回 true 值的数组元素,则 findIndex() 返回该数组元素的索引(并且不检查剩余值)
// 否则返回 -1
// let arr = [
// {name:'赛文',skill:'激光射线',age:'16'},
// {name:'迪迦',skill:'伽马射线',age:'37'},
// {name:'欧布',skill:'父子形态',age:'76'},
// {name:'赛迦',skill:'三合一',age:'55'},
// {name:'雷欧',ooo:'奥特飞踢',age:'56'},
// ]
// let res = arr.findIndex((item,index) =>{
// return item.age>20
// })
// console.log(res);//1 =>这个指向的是数组的第一个下标元素
// reduce:遍历数组元素,为每个元素执行一次回调函数
// 注意点:最好给一个初始值,避免空数组报错
// sum:初始值,默认为数组的第一个元素
// value:数组的每一个元素,默认为数组的第二个元素
// let arr = [23,,523,67,367,648,3,23,-43];
两种实现方式,
// 1.
// let arr1 = arr.reduce((sum,value) =>{
// return sum +value
// },0)
// console.log(arr1);//1611
// 2.
// console.log(arr.reduce((sum,value) =>sum +value));//1611
// 获取最大值
let arr = [1, 2, 3, 4];
this.maxValue = arr.reduce(function (v1, v2) { return v1 > v2 ? v1 : v2 }, 0)
console.log('最大值', this.maxValue) // 最大值 4