JavaScript

자바스크립트 (JavaScript) - 42 : ECMAScript 5 Array 객체 (filter(), every(), some(), reduce())

n.han 2016. 7. 20. 23:58

4) filter(), every(), some()


다음은 ECMAScript 5 Array 객체의 조건과 관련된 메서드를 정리한 표이다.


메서드 이름 

설명 

filter() 

특정 조건을 만족하는 요소를 추출해 새로운 배열을 만든다. 

every() 

배열의 요소가 특정 조건을 모두 만족하는 지 확인한다. 

some() 

배열의 요소가 특정 조건을 적어도 하나 만족하는지 확인한다. 


조건과 관련된 메서드도 배열의 요소들을 하나씩 접근하기 때문에, forEach() 메서드와 유사하게 동작한다.


다음은 filter, every, some 함수를 테스트한 예제이다. 첫 번째 결과로는 3보다 큰 요소들로 이루어진 배열을 출력하며,


두 번째 결과로는 3보다 작은 요소가 있으므로 false를, 세 번째 결과로는 3보다 큰 요소가 적어도 한 개 있으므로 true를 출력한다.




5) reduce(), reduceRight() 메서드


reduece와 reduceRight 함수는 배열의 요소가 하나가 될 때까지 두 개씩 묶는 함수이다.


reduce 함수는 왼쪽부터 묶고, reduceRight 함수는 오른쪽부터 두 개씩 묶는다.


reduce 함수는 previousValue (이전 마지막 콜백 호출에서 반환된 값 또는 공급된 경우 initialValue), currentValue (배열 내 현재 


처리되고 있는 요소), currentIndex (배열 내 현재 처리되고 있는 요소의 인덱스), array (reduce에 호출되는 배열) 이 4가지 인수를 


취하는  callback 함수를 매개변수로 갖는다.


다음은 reduce 함수를 이용하여 accumulator를 구현한 예제이다.