gpt4 book ai didi

javascript - 试图理解这个 .contain() 函数的语法

转载 作者:行者123 更新时间:2023-11-30 00:17:50 26 4
gpt4 key购买 nike

下面的contain函数是基于.reduce()函数编写的:

 _.reduce = function(collection, iterator, accumulator) {
each(collection,function(value){
accumulator=iterator(accumulator,value);

});
return accumulator
};

我对这里的语法有点困惑,还是写得合乎逻辑?为什么我们先使用 if 语句并先返回 'wasFound',然后再设置 item===target?如果 item===target 为真,我们是否将 wasFound 设置为真?

     _.contains = function(collection, target) {
return _.reduce(collection, function(wasFound, item) {
if (wasFound) {
return true;
}
return item === target;
}, false);
};

最佳答案

reduce 函数第一次进行匹配时(return item === target),它将随后为所有要迭代的剩余项目返回 true。没有理由检查 future 值是否与目标匹配,因为我们只关心集合是否包含目标至少 1 次。这就是为什么如果 wasFound 为真,它只返回真。

关于javascript - 试图理解这个 .contain() 函数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165488/

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