collection의 모든 요소를 iterator의 인자로 넘겨 실행된 결과가 모두 true인지 반환하는 함수
_.every(list, [predicate], [context])
List의 각 element(value)를 [predicate] 함수로 돌려, 모든 element(value)가 통과될 경우, truth를 리턴한다. 만약 한 개의 element(value)라도 통과를 못하면, false를 리턴한다.
_.every([2, 4, 5], function(num) { return num % 2 == 0; }); // false
// 배열 [2, 4, 5]의 각 element를 num 인자에 입력하여, 하나의 element라도 통과가 못되면 false를 리턴한다.
_.every = function(collection, iterator) {
if(collection.length === 0) {
return true;
}
let testNew = iteratro || _.identity;
return _.reduce(colleciton, function(initial, item) {
if (initail === false) {
return false;
} else if (testNew(item)) {
initial = true;
} else {
initial = false;
}
return initial;
}, true);
};