如何解决使用过滤器和减少JS
我正在尝试使用 filter 和 reduce 来获得 Bob 购买的总价,以便对我正在做的高阶函数进行一些练习。 给了我
const purchases = [{"owner":"Barry","price":103},{"owner":"Bob","price":75},"price":73},{"owner":"Barry","price":57},"price":128},"price":119},"price":133},"price":27},"price":138},"price":68},"price":50},"price":9},"price":123},"price":135},"price":30},"price":129},"price":38},"price":109},"price":115}]
使用高阶方法创建得到bobsTotal的总和。
这就是我的想法。我能够将鲍勃的购买过滤到一个数组中,但我现在无法获得总价。出于日志目的,我暂时将我的 reduce 部分注释掉了。
let bobsTotal = purchases.filter(total=>total=purchases.owner="Bob")//.reduce((total,price) => total + price)
console.log(bobsTotal)
任何建议都会很棒,或者任何其他方式来做到这一点都会很棒。
解决方法
你非常接近。
filter
的回调需要是一个返回 true
或 false
的函数。
reduce
的回调参数是 aggregate
(因为你将一个列表聚合成一个东西)和 current value
,你需要设置一个默认值 {{1 }},有一些东西可以总结。
0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。