/* 需求:
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() 一个数组里面只要有一个为假就返回假,必须全为真才会返回真
filter map reduce some every 方法简单运用
最新推荐文章于 2024-05-30 18:52:20 发布