Array 메서드들을 찾아보니 내가 공부한 애들보다 훨씬 다양한 애들이 있어서 추가적으로 공부했다.
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 메서드는 원본을 수정한다.
splice 요소를 return 하면 제거된 요소를 반환한다.
이건 처음에 이해하기 정말 어려웠다.
잘라서 붙여넣는 형식의 메서드 이다.
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 메서드는 정해진 값으로 배열을 채운다.
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 메서드이다.