filter map reduce some every 方法简单运用

4 篇文章 0 订阅
 /*  需求:
                1.取出价格大于10的商品
                2.大于10的商品打五折
                3.取出打折后的总数
            */
            let goods = [30, 80, 50, 1, 9, 8, 10, 40, 20, 12];
            // 1.取出价格大于10的商品
            // filter 过滤
            let goods1 = goods.filter((i) => {
                return i >= 10;
            });
            console.log(goods1); //[30, 80, 50, 10, 40, 20, 12]
            // 2.大于10的商品打五折
            // map 映射
            let goods2 = goods1.map((i) => {
                return i * 0.5;
            });
            console.log(goods2); //[15, 40, 25, 5, 20, 10, 6]
            // 3.取出打折后的总数
            // reduce 汇总
            let sum = goods2.reduce((s, i) => {
                return s + i;
            }, 0);
            console.log(sum); //121
            /*
                第一次,s 参数是0 ,i 是数组中的第一个元素 15
                第二次,s 参数是 是第一次回调函数返回值 ,i 是数组中的第二个元素 40
                第三次,s 参数是 是第二次回调函数返回值 ,i 是数组中的第三个元素 25
                第四次,s 参数是 是上一次回调函数返回值 ,i 是数组中的第三个元素 5
            */
            //简单写法,链式方法
            let order = [30, 80, 50, 1, 9, 8, 10, 40, 20, 12];
            let num = order
                .filter((i) => i >= 10)
                .map((i) => i * 0.5)
                .reduce((s, i) => s + i);
            console.log(num);
            // some() 一个数组里面只要有一个为真就返回真
            // every() 一个数组里面只要有一个为假就返回假,必须全为真才会返回真
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值