gpt4 book ai didi

javascript - _.chain - 下划线 JS

转载 作者:数据小太阳 更新时间:2023-10-29 06:11:29 25 4
gpt4 key购买 nike

这段代码工作正常

var arr = _.range(1,1000);
var parse = _.filter(arr, function(num) {return num%3===0 || num%5===0});
var sum = _.reduce(parse, function(memo, num){ return memo + num; }, 0) //233168

是否可以使用 _.chain() 函数来清理这段代码?我尝试在下面编写代码,但它给出了类型错误。

var arr = _.range(1,1000);
var sum = _.chain(arr)
.filter(arr, function(num) {return num%3===0 || num%5===0})
.reduce(arr, function(memo, num){ return memo + num; }, 0)
.value();

最佳答案

您只需从 _.chain()_.value( )(因为它们现在是从链中收集的):

var arr = _.range(1,1000);
var sum = _.chain(arr)
.filter(function(num) {return num%3===0 || num%5===0})
.reduce(function(memo, num){ return memo + num; }, 0)
.value();

您还可以通过在 之间拆分 range arguments(即 11000)来做得更简洁>chain 函数和 range 函数:

var sum = _.chain(1).range(1000)
.filter(function(num) {return num%3===0 || num%5===0})
.reduce(function(memo, num){ return memo + num; }, 0)
.value();

它有效,但我不确定最后一个在代码可读性方面是否是个好主意。

关于javascript - _.chain - 下划线 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25944870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com