프로그래머스에서 코테 연습할 때 종종 보였던 메서드들이 책이 잘 소개되어 있어 정리해보았다. 나중에 코테 스터디에서 풀었던 문제들 중에 관련 있는 애들도 첨부할 예정!
Array.of
: 인수를 요소로 갖는 배열 생성
Array.of(3); //=> [3]
Array.from
: 인수로 받은 유사 배열 객체/이터러블 객체를 배열로 변환해서 반환
Array.from('Jimyu'); //=> ['J','i','m','y','u']
Array.isArray
: 인수가 배열인지 true/false 반환
Array.prototype.indexOf
: 인수로 전달된 요소를 검색해서 찾은 첫 번째 요소의 인덱스를 반환한다. 없으면 -1 반환.
Array.prototype.pop
: 배열 마지막 요소 제거하고 제거한 요소를 반환. 원본이 비어있다면 undefined
반환. 원본 배열을 변경한다.
Array.prototype.unshift
: 인수로 받은 모든 값들을 원본 배열 맨 앞에 추가하고 변경된 length 프로퍼티 값 반환. 원본 배열 직접 변경.
Array.prototype.shift
: 첫 번째 요소 제거하고 제거한 요소 반환. 원본 배열 직접 변경.
Array.prototype.concat
: 인수로 전달도니 값들을 원본 배열 마지막 요소로 추가한 새 배열을 반환. 원본 배열은 변경하지 않음.(부수효과 X)
Array.prototype.splice
: 인수로 (제거 시작 인덱스, 삭제할 요소 개수-생략 가능, 제거한 위치에 넣을 요소들 목록-생략 가능)
받는다. 원본 배열 직접 변경.
Array.prototype.slice
: 요소들을 복사해서 배열로 반한. 원본 변경 X.
인수는 (복사 시작 인덱스, 복사 종료 인덱스(이 인덱스는 복사하지 않음))
Array.prototype.join
: 모든 요소를 문자열 변환 후 구분자로 연결한 문자열 반환.
Array.prototype.fill
: 배열의 처음부터 끝까지 인수로 전달받은 값으로 채움.
Array.prototype.includes
: 배열 내 인수로 받은 요소가 포함되어 있는지 확인해서 true/false 반환.
Array.prototype.flat
: 인수로 전달한 깊이만큼 재귀적으로 배열을 평탄화.
Array.prototype.sort
: 배열 정렬. 이때 원본 배열을 직접 변경하며, 기본은 오름차순이다. 다만 정렬시 유니코드 코드 포인트 순서로 정렬하기 때문에 문자열이 아닌 값들을 정렬할 때는 비교 함수를 인수로 전달해야 원하는 결과를 얻을 수 있다.Array.prototype.forEach
: for문을 대체할 수 있다. 원본 배열을 변경하지 않으며, 배열의 모든 요소를 순회해 콜백 함수를 반복 호출한다.Array.prototype.map
: 인수로 전달받은 콜백 함수를 배열 요소를 모두 순회하며 반복 호출한다. 반환값은 콜백함수의 반환값들로 이루어진 새 배열이다. 원본 배열은 변경X.Array.prototype.filter
: 배열을 전부 순회하면서 콜백 함수 반복 호출하는데, 반환값은 콜백 함수 반환값이 true인 요소로만 구성된 새 배열이다.Array.prototype.reduce
: 배열을 모두 순회하며 콜백함수 반복 호출. 콜백함수 반환값을 다음 콜백 함수의 첫 인수로 전달해서 하나의 결과값을 반환한다. 즉 배열의 모든 요소를 누적한 결과를 반환.reduce
로 구현이 가능하다.Array.prototype.some
: 배열을 순회하면서 콜백 함수 호출해서 한 번이라도 반환값이 true라면 true를 반환.Array.prototype.every
: 배열을 전부 순회하면서 콜백 함수 호출이 한 번이라도 false면 false를 반환.Array.prototype.find
: 배열 순회하면서 콜백함수 반환값이 true인 첫 요소를 반환. 없으면 undefined
반환.Array.prototype.findIndex
: 배열 순회하면서 콜백함수 반환값이 true인 첫 요소의 인덱스를 반환. 없으면 -1 반환.Array.prototype.flatMap
: map과 flat을 합친 느낌으로, map 메서드로 생성된 새 배열을 평탄화. 단 1단계만 평탄화 가능.