arr.slice(i, j)
=> arr의 i번 인덱스부터 j-1번 인덱스까지의 요소를 잘라냄
arr.slice(i)
=> arr의 i번 인덱스부터 마지막 인덱스까지의 요소를 잘라냄
예시1)
let arr1 = ['a', 'b', 'c', 'd', 'e'];
let newArr1 = arr1.slice(1, 3);
// => arr1의 1번 인덱스부터 2번 인덱스까지의 요소를 잘라내서 newArr1에 저장
결과 :
console.log(arr1) => ['a', 'b', 'c', 'd', 'e'];
console.log(newArr1) => ['b', 'c']
예시2)
let arr2 = ['a', 'b', 'c', 'd', 'e'];
let newArr2 = arr2.slice(3);
// => arr2의 3번 인덱스부터 마지막 인덱스까지의 요소를 잘라내서 newArr2에 저장
결과 :
console.log(arr2) => ['a', 'b', 'c', 'd', 'e'];
console.log(newArr2) => ['d', 'e']
arr = [...arr.slice(0, i), ...newArr, ...arr.slice(i)]
=> arr의 0번 인덱스부터 i-1번 인덱스에 해당하는 요소, newArr의 모든 요소,
arr의 i번 인덱스부터 마지막 인덱스에 해당하는 요소를 갖는 새로운 배열을 arr에 저장함(덮어쓰기)
예시1)
let arr1 = ['a', 'b', 'c', 'd', 'e'];
let newArr1 = ['ㄱ', 'ㄴ', 'ㄷ'];
arr1 = [...arr1.slice(0, 2), ...newArr1, ...arr1.slice(2)];
// => arr1의 0번 인덱스부터 1번 인덱스까지의 요소와 newArr1의 모든 요소,
arr1의 2번 인덱스부터 마지막 인덱스까지의 요소를 갖는 새로운 배열을 arr1에 저장(덮어쓰기)
결과 :
console.log(arr1) => ['a', 'b', 'ㄱ', 'ㄴ', 'ㄷ', 'c', 'd', 'e'];
예시2)
let arr2 = ['a', 'b', 'c', 'd', 'e'];
let newArr2 = ['ㄱ', 'ㄴ', 'ㄷ'];
arr2 = [...arr2.slice(0, 1), ...newArr2, ...arr2.slice(3, 4)];
// => arr2의 0번 인덱스의 요소와 newArr2의 모든 요소,
arr2의 3번 인덱스의 요소를 갖는 새로운 배열을 arr2에 저장(덮어쓰기)
결과 :
console.log(arr2) => ['a', 'ㄱ', 'ㄴ', 'ㄷ', 'd'];