splice와 slice차이

구렁·2023년 4월 7일
0

"Splice"와 "slice"는 둘 다 배열을 조작하는 메서드입니다. 하지만 두 메서드는 서로 다른 작업을 수행합니다.

"Splice"

메서드는 배열에서 요소를 추가, 삭제, 교체하는 데 사용됩니다.
"Splice" 메서드는 다음과 같은 인수를 취합니다.

array.splice(start, deleteCount, item1, item2, ...)

여기서, "start"는 변경 작업을 시작할 인덱스를 나타내며, "deleteCount"는 제거할 요소의 수를 나타냅니다.
"item1", "item2" 등은 배열에 추가할 요소를 나타냅니다. "Splice" 메서드는 변경된 배열을 반환합니다.

예를 들어, 다음 코드는 인덱스 1부터 2개의 요소를 삭제하고 인덱스 1에 "apple"과 "orange"를 추가합니다.

let fruits = ["banana", "grape", "kiwi"];
fruits.splice(1, 2, "apple", "orange");
console.log(fruits); // ["banana", "apple", "orange"]

"Slice"

메서드는 배열에서 지정된 시작 인덱스부터 끝 인덱스까지의 요소를 추출하여 새로운 배열을 반환합니다. "Slice" 메서드는 다음과 같은 인수를 취합니다.

array.slice(start, end)

여기서, "start"는 추출을 시작할 인덱스를 나타내며, "end"는 추출을 끝낼 인덱스를 나타냅니다. "end"는 선택적이며, 생략하면 배열의 끝까지 추출됩니다.

예를 들어, 다음 코드는 인덱스 1부터 3까지의 요소를 추출하여 새로운 배열을 만듭니다.

let fruits = ["banana", "apple", "orange", "kiwi"];
let newFruits = fruits.slice(1, 4);
console.log(newFruits); // ["apple", "orange", "kiwi"]

따라서, "splice" 메서드는 배열의 요소를 추가, 삭제, 교체하는 데 사용되며, "slice" 메서드는 배열에서 일부 요소를 추출하여 새로운 배열을 만드는 데 사용됩니다.

다른 예시

const a = [1,2,3,4,5,6,7,8,9,10] 에서
b=[1,2,3,4,5] 를 만들고 싶을때.

splice 사용시

const a = [1,2,3,4,5,6,7,8,9,10];
const b = a.splice(0,5);
console.log(a); // [6,7,8,9,10]
console.log(b); // [1,2,3,4,5]

a.splice(0,5)는 배열 a에서 인덱스 0부터 시작해서 5개의 요소를 제거하고,
제거된 요소를 반환합니다.
이 경우 a 배열은 [6,7,8,9,10]이 되며, b 배열은 [1,2,3,4,5]가 됩니다.

slice 사용시

const a = [1,2,3,4,5,6,7,8,9,10];
const b = a.slice(0,5);
console.log(a); // [1,2,3,4,5,6,7,8,9,10]
console.log(b); // [1,2,3,4,5]

반면에, a.slice(0,5)는 배열 a에서 인덱스 0부터 시작해서 5개의 요소를 추출하여 새로운 배열을 반환합니다.
이 경우 a 배열은 여전히 [1,2,3,4,5,6,7,8,9,10]이 유지되며, b 배열은 [1,2,3,4,5]가 됩니다.

따라서, 원래의 배열 a를 유지하면서 새로운 배열 b를 만들고자 한다면 a.slice(0,5)를 사용하는 것이 올바른 방법입니다.

출처 챗GPT+뇌피셜

splice관련해서 AI가 헛소리를 자꾸해서 고생했다.
fruits배열에서 1번인덱스부터 2개를뺏는데 kiwi가 남아있다고 우기더라..

0개의 댓글