splice()
는 JavaScript 배열에서 요소를 추가, 삭제 또는 교체하는 메서드입니다. 배열의 원본을 수정하며, 기존 요소를 제거하고 새로운 요소를 추가하는 등의 작업을 수행할 수 있습니다.
splice()
메서드의 문법은 다음과 같습니다:
array.splice(startIndex, deleteCount, item1, item2, ...);
startIndex
: 배열에서 요소를 제거 또는 추가할 시작 인덱스입니다.deleteCount
(선택적): 제거할 요소의 개수입니다. 0이면 요소를 제거하지 않습니다. 생략하면 startIndex
부터 배열의 끝까지의 모든 요소를 제거합니다.item1
, item2
, ... (선택적): 배열에 추가될 요소입니다.splice()
를 사용하여 배열에서 요소를 제거하고 제거된 요소를 반환하려면 deleteCount
매개변수에 제거할 요소의 개수를 지정하면 됩니다. 반환되는 값은 제거된 요소로 이루어진 배열입니다.
다음은 splice()
메서드의 사용 예시입니다:
const fruits = ['apple', 'banana', 'cherry', 'date'];
// 요소 제거
const removedFruits = fruits.splice(1, 2);
console.log(removedFruits); // ['banana', 'cherry']
console.log(fruits); // ['apple', 'date']
// 요소 추가
fruits.splice(1, 0, 'grape', 'lemon');
console.log(fruits); // ['apple', 'grape', 'lemon', 'date']
위의 예시에서:
fruits.splice(1, 2)
는 fruits
배열에서 인덱스 1부터 2개의 요소를 제거하고, 제거된 요소로 이루어진 배열 removedFruits
를 반환합니다. 따라서 removedFruits
는 ['banana', 'cherry']
가 되고, fruits
배열은 ['apple', 'date']
가 됩니다.fruits.splice(1, 0, 'grape', 'lemon')
은 fruits
배열에서 인덱스 1 위치에 'grape'와 'lemon'을 추가합니다. 따라서 fruits
배열은 ['apple', 'grape', 'lemon', 'date']
가 됩니다.splice()
메서드는 배열을 수정하고 제거된 요소를 반환하는 유용한 메서드입니다. 주의할 점은 splice()
메서드를 사용할 때 원본 배열이 직접 수정되므로, 필요에 따라 원본 배열을 보존해야 하는 경우에는 원본 배열을 복사한 후 splice()
를 사용하는 것이 좋습니다.
splice()
메서드를 사용하여 0번째 요소를 제외한 나머지 요소를 제거할 수 있습니다. 아래는 주어진 코드에 splice()
를 활용하여 요소를 삭제하는 예시입니다:
allDelete(data: string) {
if (data === 'complex') {
this.complexSeries.splice(1); // 0번째 요소를 제외한 모든 요소를 제거
} else {
this.marketSeries.splice(1); // 0번째 요소를 제외한 모든 요소를 제거
}
}
위의 코드에서 splice()
메서드에 1을 전달하여 0번째 요소를 제외한 모든 요소를 제거합니다. splice()
메서드는 해당 인덱스부터 끝까지의 요소를 제거하기 때문에, 1을 전달하면 0번째 요소는 제외하고 1번째 인덱스부터 끝까지의 요소를 제거합니다.
이렇게 하면 this.complexSeries
또는 this.marketSeries
배열에서 0번째 요소를 제외한 나머지 요소가 모두 제거됩니다.