js的filter使用

假设一个小问题:

  有一个公交车站,公交车站停了很多辆公交车,每个公交车都有乘客,乘客年龄不同。如果一辆车上乘客年龄都在18岁以下,可以叫这辆车为青春车,问青春车在该车站的比例。

  刚开始的想法:

 1       youngUser = 0
 2       youngCar = 0
 3       cars.forEach(car => {
 4         car.users.forEach(user => {
 5           if (user.age <= 18) {
 6             youngUser = youngUser + 1
 7           }
 8         })
 9        //判断车上总人数和车上年龄小于18岁的人数是否相等
10         if(youngUser.lenth === car.users.length){
11           youngCar = youngCar + 1
12         }
13       })
14       console.log('result:'youngCar/cars.length) 

  使用filter:

1 const youngCar= cars.filter(car => { 
2     return car.users.length  === car.users.filter(user => { return user.age <= 18}).length
3 })
4 console.log(youngCar.length/cars.length)

完结

posted @ 2020-11-11 17:26  爱就码上行动  阅读(173)  评论(0编辑  收藏  举报