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를 구현한 예제이다.
'JavaScript' 카테고리의 다른 글
자바스크립트 (JavaScript) - 44 : URL (0) | 2016.07.21 |
---|---|
자바스크립트 (JavaScript) - 43 : ECMAScript 5 JSON 객체 (JSON.stringify(), JSON.parse()) (0) | 2016.07.21 |
자바스크립트 (JavaScript) - 41 : ECMAScript 5 Array 객체 (Array.isArray(), indexOf(), forEach(), map()) (0) | 2016.07.20 |
자바스크립트 (JavaScript) - 40 : Date 객체 (0) | 2016.07.20 |
자바스크립트 (JavaScript) - 39 : Array sort, slice 메서드와 메서드 체이닝 (0) | 2016.07.20 |