LHJ

I'm a FE developer.

8.8 요약

10 May 2020 » js_lj

자바스크립트 Array 클래스에는 강력하고 유연한 메서드가 많지만, 때로는 어떤 메서드가 최선일지 판단하기 어려울 때도 있습니다.
[표 8-1]부터 [표 8-4]는 Array 메서드를 요약한 겁니다.

콜백 함수를 받는 find, findIndex, some, every, map, filter, reduce에서 콜백 함수가 제공받는 매개변수는 [표 8-1]과 같습니다.

표 8-1 배열 함수의 매개변수(순서대로)

메서드설명
reduce에만 적용누적값, 초깃값 또는 마지막 호출에서 반환한 값
모든 메서드요소(현재 요소의 값)
모든 메서드현재 요소의 인덱스
모든 메서드배열 자체(그다지 쓸모는 없음)

콜백을 받는 메서드들은 또한 옵션으로 콜백을 호출할 때 this로 사용할 값을 받을 수 있습니다.
이 매개변수를 활용하면 콜백 함수를 메서드처럼 사용할 수 있습니다.

표 8-2 배열 컨텐츠 조작

하고 싶은 일사용할 메서드수정 또는 사본
스택(후입 선출)을 만들 때push(바뀐 길이 반환), pop배열 수정
큐(선입 선출)를 만들 때unshift(바뀐 길이 반환), shift배열 수정
여러 요소를 배열 마지막에 추가할 때concat사본 반환
배열 일부가 필요할 때slice사본 반환
임의의 위치에 요소를 추가하거나 제거할 때splice배열 수정
배열 안에서 요소를 교체할 때copyWithin배열 수정
배열을 채울 때fill배열 수정
배열을 반대로 정렬할 때reverse배열 수정
배열을 정렬할 때sort(정렬 함수 사용 가능)배열 수정

표 8-3 배열 검색

찾고자 하는 것사용할 메서드
요소의 인덱스indexOf(단순한 값), findIndex(복잡한 값)
인덱스를 뒤에서부터 찾을 때lastIndexOf(단순한 값)
요소 자체find
조건을 만족하는 요소가 들어있는지 확인할 때some
모든 요소가 그 조건을 만족하는지 확인할 때every

표 8-4 배열 변형

하고 싶은 일사용할 메서드수정 또는 사본
배열의 모든 요소를 변형할 때map사본 반환
조건에 맞는 요소만 남길 때filter사본 반환
배열 전체를 다른 데이터 타입으로 변형할 때reduce사본 반환
요소를 문자열로 바꿔서 하나로 합칠 때join사본 반환