프로그래머스 배열 문제를 풀다가 every 와 some 메소드 사용이 헷갈려서 공부하기 위해 적어본다.
이 메소드들은 둘 다 배열의 요소들이 주어진 조건을 만족하는지 여부에 대한 검증을 수행한다.
every()
는 배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 모두 true인지 확인한다.arr.every(function(currentValue, index, array), thisValue))
some()
은배열의 각 엘리먼트에 대해서 테스트 함수의 반환 값이 하나라도 true가 있는지 확인한다.arr.some(function(currentValue, index, array), thisValue))
cosnt array = [1, 2, 3, 4];
let result = array.some(num => num > 2);
console.log(result); // true
result = array.every(num => num > 2);
console.log(result); // false
두 메소드는 배열의 값을 확인하고 true/false를 반환한다는 점에서 비슷하지만 every()
메소드는 모든 값이 true 일때만 true를 반환하고 하나라도 false인 경우 false 를 반환한다. 반면 some()
메소드는 값 중 하나라도 true이면 true를 반환하고 모든 값이 false일때만 false를 반환한다.
쉽게 말하자면
every()
는 And 조건,some()
은 Or 조건이라고 할 수 있다.