1. push, unshift
- 배열에 값을 추가
- 특징
- 수정된 배열의 길이를 반환
- 부수효과: 원본 배열을 변경(but 스프레드 문법을 권장)
unshift가 이후 요소드를 밀어내야 하므로 pop보다 더 느림
push: 값을 뒤에 추가
const arr = [1, 2, 3];
const x = arr.push(4);
console.log(x, arr);
const y = arr.push(5, 6, 7);
console.log(y, arr);
2. pop, shift
- 배열에서 값을 제거하여 반환
shift가 이후 요소들을 당겨야 하므로 pop보다 더 느림
pop: 값을 뒤에서 제거하여 반환
const arr = [1, 2, 3, 4, 5];
const x = arr.pop();
console.log(x, arr);
const y = arr.pop();
console.log(y, arr);
const arr = [1, 2, 3, 4, 5];
const x = arr.shift();
console.log(x, arr);
const y = arr.shift();
console.log(y, arr);
3. splice
- 원하는 위치에 요소(들)을 추가 및 삭제
- 2개 이상의 인자를 받음
start: 배열 변경을 시작할 위치
deleteCount: 제가할 요소의 개수
item(s): 추가할 하나 이상의 요소
const arr = [1, 2, 3, 4, 5, 6, 7];
arr.splice(2, 2);
console.log(arr);
arr.splice(3, 0, 'a');
console.log(arr);
arr.splice(1, 3, '가', '나', '다');
console.log(arr);
const arr = [1, 2, 3, 4, 5];
delete arr[2];
console.log(arr);
arr.splice(2, 1);
console.log(arr);
4. fill
const arr1 = [1, 2, , , 4, 5];
arr1.fill(7);
console.log('1.', arr1);
const arr2 = new Array(10);
arr2.fill(1);
console.log('2.', arr2);
arr2.fill(2, 3);
console.log('3.', arr2);
arr2.fill(3, 6, 9);
console.log('4.', arr2);
5. reverse
const arr = [1, 2, 3, 4, 5, 6, 7];
console.log(arr);
arrRev = arr.reverse();
console.log(arr, arrRev);
arrRev[0] = 0;
console.log(arr, arrRev);