let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let count = fruits.push('watermelon');
console.log(count); // 5
console.log(fruits);
// ['cherry', 'blueberry', 'apple', 'banana', 'watermelon']
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let count = fruits.unshift('peach');
console.log(count); // 5
console.log(fruits);
// ['peach', 'cherry', 'blueberry', 'apple', 'banana']
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
delete fruits[2];
console.log(fruits);
// ['cherry', 'blueberry', empty, 'banana']
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let shifted = fruits.shift();
console.log(fruits); // ['blueberry', 'apple', 'banana']
console.log(shifted); // 'cherry'
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
fruits[1] = 'strawberry';
console.log(fruits);
// ['cherry', 'strawberry', 'apple', 'banana']
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let results = fruits.slice(1, 3);
// 1번 인덱스부터 3번 인덱스의 전인 2번 인덱스까지 반환
console.log(fruits);
// ['cherry', 'blueberry', 'apple', 'banana']
console.log(results);
// ['blueberry', 'apple']
(얕은 복사본과 깊은 복사본에 대한 포스트 링크 예정)
//아무것도 삭제하지 않고 2번 인덱스에 요소를 추가하는 경우
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let removed = fruits.splice(2, 0, 'melon', 'durian');
console.log(fruits);
// ['cherry', 'blueberry', 'melon', 'durian', 'apple', 'banana']
console.log(removed); // []
// 아무것도 삭제하지 않아 빈 배열이 반환된 것을 확인할 수 있다.
---
// 시작인덱스에 음수를 넣은 경우
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let removed = fruits.splice(-2, 1);
console.log(fruits);
// ['cherry', 'blueberry', 'banana']
console.log(removed);
// ['apple']
// -2번 인덱스의 요소인 애플이 삭제되었고 반환된 것을 확인할 수 있다.
---
// 시작 인덱스 값만 넣은 경우
let fruits = ['cherry', 'blueberry', 'apple', 'banana'];
let removed = fruits.splice(2);
console.log(fruits); // ['cherry', 'blueberry']
console.log(removed); // ['apple', 'banana']
//시작 인덱스인 2번 애플을 포함하여 후반부가 모두 삭제된 것을 볼 수 있습니다.
저는 push랑 unshift 메서드를 콘솔로 호출하면 길이를 반환하는 것은 몰랐는데 민지님 덕에 오늘 알았어요 ㅎㅎ 정독하면서 개념 한 번 더 정리하고 가니 좋습니다🤭👍🏻