JS_배열 메서드와 고차 함수 정리

Koohyeon·2021년 5월 16일
0

JavaScript

목록 보기
6/7
post-thumbnail

배열 메서드는 원본 배열을 직접 변경하는 메서드와 새로운 배열을 생성하여 반환하는 메서드가 있다. 원본 배열을 직접 변경하는 경우 그 부수효과를 고려하여 되도록 원본 배열을 수정하지 않는 메서드를 사용하는 것이 좋다.

Array.isArray

: 전달된 인수가 배열이면 true, 배열이 아니면 false를 반환한다.

Array.prototype.indexof

: 원본배열에서 인수로 전달된 요소를 검색하여 첫 번째로 검색된 요소의 인덱스를 반환한다. (존재하지 않으면 -1을 반환한다)

Array.prototype.push

: 인수로 전달받은 모든 값을 원본 배열의 마지막 요소로 추가하고 변경된 length 프로퍼티 값을 반환한다.

Array.prototype.pop

: 원본 배열에서 마지막 요소를 제거하고 제거한 요소를 반환한다. (원본 배열이 비어있으면 undefined를 반환한다)

Array.prototype.unshift

: 인수로 전달받은 모든 값을 원본 배열의 맨 앞에 추가하고 변경된 length 프로퍼티 값을 반환한다.

Array.prototype.shifr

: 원본 배열에서 첫 번째 요소를 제거하고 제거한 요소를 반환한다. (원본배열이 비어있으면 undefined를 반환한다.)

Array.prototype.concat

: 인수로 전달된 값들을 원본 배열의 마지막 요소로 추가한 새로운 배열을 반환한다. (인수로 전달받은 값이 배열인 경우 해체하여 새로운 배열의 요소로 추가한다. push와 unshift 메서드는 배열을 그대로 요소에 추가한다.)

Array.prototype.splice

: 원본 배열 중간에 요소를 추가하거나 제거하는 경우 사용한다. 세 개의 매개변수가 있다.

  • 첫 번째는 원본 배열의 요소를 제거하기 시작할 인덱스다. 음수인 경우 -n이면 마지막에서 n 번째 요소를 가리키는 것이 된다.
  • 두 번째는 제거할 요소의 개수이다. (옵션)
  • 세 번째는 제거할 위치에 삽입할 요소들의 목록이다. 생략한다면 제거만 하고 삽입은 하지 않는다. (옵션)

Array.prototype.slice

: 인수로 전달된 범위의 요소들을 복사하여 새로운 배열로 반환한다. 복사를 시작할 인덱스, 종료할 인덱스 총 두 개의 매개변수를 갖는다. ( 종료할 인덱스에 해당하는 요소는 복사되지 않으며, 생략한다면 기본 값은 length 프로퍼티 값이다.)

Array.prototype.join

: 인수로 전달받은 문자열이 구분자가 되어, 원본 배열의 모든 요소를 문자열로 변환한 새로운 배열을 반환한다. 생략한다면 기본 구분자는 콤마다.

Array.prototype.reverse

: 원본 배열의 순서를 반대로 뒤집어 반환한다.

Array.prototype.fill

: 인수로 전달받은 값을 원본 배열의 처음부터 끝까지 요소로 채운다. 두 번째 인수로 요소 채우기를 시작할 인덱스를 전달할 수 있고, 세 번째 인수로 요소 채우기를 멈출 인덱스를 전달할 수 있다.

Array.prototype.includes

: 배열 내에 특정 요소가 포함되어 있는지 true 또는 false로 반환한다. 첫 번째 인수로 검색할 대상을 지정핳고, 두 번째 인수로 검색을 시작할 인덱스를 전달한다. 두 번째 인수를 생략할 경우 기본값은 0이다.

Array.prototype.flat

: 배열 요소를 인수로 전달한 깊이까지 재귀적으로 평탄화한 새로운 배열을 생성한다. 기본값은 1이다.



고차 함수(Higher-Order Function, HOF)는 함수를 인수로 전달받거나 함수를 반환하는 함수를 말한다.

Array.prototype.sort

: 원본 배열을 직접 변경하여 기본적으로 오름차순으로 정렬된 배열을 반환한다. 내림차순으로 정렬하려면 reverse를 사용하여 요소의 순서를 뒤집는다.

Array.prototype.forEach

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출한다. 반환값은 undefined이다.

Array.prototype.map

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값들로 구성된 새로운 배열을 반환한다.

Array.prototype.filter

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열을 반환한다.

Array.prototype.reduce

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값을 다음 순회 시 콜백 함수의 첫 번째 인수로 전달하면서 하나의 결과값을 만들어 반환한다.

Array.prototype.some

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값이 단 한 번이라도 참이면 true, 모두 거짓이면 false를 반환한다.

Array.prototype.every

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값이 모두 참이면 true, 단 한 번이라도 거짓이면 false를 반환한다.

Array.prototype.find

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값이 true인 첫 번째 요소를 반환한다.

Array.prototype.findIndex

: 수행할 처리를 콜백 함수로 전달받아 배열을 순회하며 반복 호출하고, 콜백 함수의 반환값이 true인 첫 번째 요소의 인덱스를 반환한다. (true인 요소가 존재하지 않는다면 -1을 반환한다.)

Array.prototype.flatMap

: map 메서드와 flat 메서드를 순차적으로 실행하는 효과가 있다.

0개의 댓글