21일차 - Arrary 메서드 추가공부

김민찬·2021년 5월 30일
0

취업으로의 여정

목록 보기
22/196

Array 메서드들을 찾아보니 내가 공부한 애들보다 훨씬 다양한 애들이 있어서 추가적으로 공부했다.

splice 메서드 (원본 수정)

splice 메서드는 이미 공부한 메서드였다. 그런데 제거하는 메서드로만 알고 추가하는 것을 공부하지 않았던 것이다. splice메서드를 50%만 활용할 뻔 했다.

const arr =[1, 4, 5, 6, 7];
arr.splice(2, 1, 'a', 'b'); 
//return : [5], 원본 arr = [1, 4, 'a', 'b', 6, 7];

splice 메서드는 원본을 수정한다.

  1. 첫 번째 매개변수는 수정을 시작할 인덱스이다.
  2. 두 번째 매개변수는 제거할 요소의 갯수이다. 요소를 제거하지 않고 추가만 할려고 할때는 0을 넣는다.
  3. 나머지 매개변수는 배열에 추가될 요소이다.

splice 요소를 return 하면 제거된 요소를 반환한다.

배열 안의 요소를 교체하는 copyWithin 메서드 (원본 수정)

이건 처음에 이해하기 정말 어려웠다.
잘라서 붙여넣는 형식의 메서드 이다.

const arr = [1, 2, 3, 4];
arr.copyWithin(1, 2);      // arr = [1, 3, 4, 4];
arr.copyWithin(2, 0, 2);   // arr = [1, 3, 1, 3];
arr.copyWithin(0, -3, -1); // arr =[3, 1, 1, 3];

arr.copyWithin (target, start, end);

로 보면 된다. (end는 생략 가능하다, 생략하면 배열의 끝까지 복사한다.)
start 이상 부터 end (없으면 끝까지) 미만 복사해서 target에서 부터 순서대로 요소를 덮어 쓰는 메서드다.

특정 값으로 배열 채우기 fill (원본 수정)

fill 메서드는 정해진 값으로 배열을 채운다.

arr.fill(target, start, end);

const arr = new Array(5).fill(1); // arr = [1, 1, 1, 1, 1];

// fill은 원본수정
arr.fill('a');              // arr = ['a', 'a', 'a', 'a', 'a'];
arr.fill('b', 1);           // arr = ['a', 'b', 'b', 'b', 'b'];
arr.fill('c', 2, 4);        // arr = ['a', 'b', 'c', 'c', 'b'];
arr.fill(5.5, -4);          // arr = ['a', 5.5, 5.5, 5.5, 5.5];
arr.fill(0, -3, -1);        // arr = ['a', 5.5, 0, 0, 5.5];

배열 역순 정렬 (원본 수정)

arr.reverse();

마지막으로 배열을 뒤집는 reverse 메서드이다.

profile
두려움 없이

0개의 댓글