12-数组循环方法

90 阅读1分钟

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>