some循环
some()是对数组中每一项遍历,只要有一项返回true,则返回true,即:有true为true
<script>
const arr = ['张三','李四','王五','赵四','小黑']
arr.some((item,index)=>{
if(item === '王五'){
// 找到对应项后,可以通过 return true 固定的语法,来终止 some 循环
return true
}
})
</script>
every循环
every ( ) 是对数组中每一项遍历,每一项返回true,则返回true。如果有一项为false,则整体为false,即:全true为true
const arr = [
{ id: 1, name: 'zs' ,status:true },
{ id: 2, name: 'ls' ,status:true },
{ id: 3, name: 'ww' ,status:true },
]
const result = arr.every(item => item.status)
console.log(result)
filter循环
语法:数组.filter(回调函数)
const arr = [11,20,15,40,33]
let arrNew = arr.filter((v) => {
return v % 2 != 0 //返回数组中的奇数
})
//会得到一个新数组并存到 arrNew 变量中
reduce函数
<script>
const arr = [
{ id: 1, name: 'zs' ,status:true ,price:10,count:1},
{ id: 2, name: 'ls' ,status:false ,price:20,count:2},
{ id: 3, name: 'ww' ,status:true ,price:30,count:3},
]
const result = arr.filter(item => item.status).reduce((amt,item) => amt += item.price * item.count ,0)
console.log(result);
//返回状态为true的price
</script>