функция содержит ниже написана на основе функции .reduce():Пытаясь понять синтаксис этой .contain функции()
_.reduce = function(collection, iterator, accumulator) {
each(collection,function(value){
accumulator=iterator(accumulator,value);
});
return accumulator
};
Im любопытное путать синтаксисом здесь, или это написано логически? почему мы сначала используем оператор if и возвращаем 'wasFound', прежде чем задавать значение === target? нет, если item === target is true, мы установили isFound в true?
_.contains = function(collection, target) {
return _.reduce(collection, function(wasFound, item) {
if (wasFound) {
return true;
}
return item === target;
}, false);
};
Он возвращает 'true' там, потому что первый arg указывает, нашел ли он совпадение ранее. Вы посмотрели документацию под названием «Подчеркивание»? (Или lodash, если это то, что вы используете.) – Robusto