JavaScript

자바스크립트 (JavaScript) - 41 : ECMAScript 5 Array 객체 (Array.isArray(), indexOf(), forEach(), map())

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

- ECMAScript 5 Array 객체


HTML5와 함께 출현한 자바스크립트 표준안을 ECMAScript 5라고 한다. ECMAScript 5의 Array는 여러 유용한 속성들이 추가되었고,


앞으로 이를 소개하고자 한다.


1) Array.isArray()


Array 생성자 함수에 배열인지 확인하는 메서드가 추가되었다. 이 메서드가 의미가 있는 것은, 기존의 typeof 키워드는 Array가


배열이기 이전에 객체이므로 Array 객체의 자료형을 object라고 출력했기 때문이다.


다음은 Array 생성자 함수의 isArray() 메서드를 활용하여 배열, 객체, number 각각에 대하여 배열 객체인지 테스트하는 예제이다.



위의 결과로 true, false, false를 alert하는 것을 확인할 수 있다.


2) indexOf(), lastIndexOf()


indexOf()와 lastIndexOf()는 모두 매개변수에 검색하려는 객체를 입력하여,


만약 내부에 검색하려는 객체가 있으면 해당 객체가 위치하는 인덱스를 리턴하고, 없으면 -1를 리턴한다.


다만 indexOf()는 앞쪽부터 검색하고, lastIndexOf()는 뒤쪽부터 검색한다.


다음은 indexOf()와 lastIndexOf() 메서드의 예제이다.




3) forEach() map()


forEach()와 map() 메서드 모두 ECMAScript 5의 Array 객체의 반복 메서드이다.


forEach() 메서드는 배열의 각각의 요소를 사용해 특정 함수를 for in 반목문처럼 실행한다.


매개변수로 입력 함수에 배열의 요소와 관련된 정보를 넣어 반복한다. forEach() 메서드의 매개변수로 입력한 함수는


첫 번째 argument로 현재 반복에서의 배열 요소, 두 번째 argument로 현재 반복에서 배열 요소의 인덱스,


세 번째 argument로 현재 반복을 수행하는 배열 자체를 받는다.


다음은 forEach문을 활용하여 배열 요소를 모두 더한 예제이다.



map() 메서드는 기존의 배열에 특정 규칙을 적용해 새로운 배열을 만들어 리턴하는 메서드이다.


다음은 기존의 배열에 각 요소를 제곱해 리턴하여 그 결과 배열을 출력하는 예제이다.