splice
splice
는 배열의 특정 원소들을 지우는 메소드다.
arr.splice(n,m)
과 같이 사용했을 때, n번째 index부터 m개의 원소를 지우는 방식으로 작동한다.
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2);
console.log(arr); // [1, 4, 5]
arr.splice(n,m,x,...)
처럼 세개 이상의 인자를 사용해서 해당 위치에 원소를 추가할 수도 있다.
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 3, 100, 200);
console.log(arr); // [1, 100, 200, 5]
원소를 지우지 않고 추가하는 용도로도 사용할 수 있다. 즉 몇개를 지울지 결정하는 m
인자에 반드시 1 이상의 수가 들어가야하는 것은 아니다.
let arr = ['나는', '철수', '입니다'];
arr.splice(1, 0, '대한민국', '소방관'); // 1번 index위치에 아무 원소도 지우지 않고 원소를 추가
console.log(arr); // ['나는', '대한민국', '소방관', '철수', '입니다']
또한 splice
는 삭제된 요소를 반환한다는 것도 숙지할 것!
let arr = [1, 2, 3, 4, 5];
let result = arr.splice(1, 2);
console.log(arr); // [1, 4, 5]
console.log(result); // [2, 3]
slice
arr.slice(n,m)
는 n번째 원소부터 m-1번째 원소까지를 반환한다. 두번째 인자를 생략하는 경우에는 n번째 원소부터 끝까지를 반환한다.
해당 배열을 반환하는 것이지 삭제하는 것은 아님에 유의할 것!
또한 인자를 아예 생략하면 배열을 복사하게 된다.
let arr = [1,2,3,4,5];
arr.slice(1,4);
console.log(arr); // [2,3,4]
let arr2 = arr.slice();
console.log(arr2); // [1,2,3,4,5]
concat
concat
메소드는 인자로 받는 값이나 배열을 합쳐서 새로운 배열로 반환하게 된다.
let arr = [1,2];
let arr2 = arr.concat([3,4]);
console.log(arr2); // [1,2,3,4]
// 두 개 이상의 인자를 넣어 여러 값을 넣을 수 있다.
let arr3 = arr.concat([3,4],[5,6]);
console.log(arr3); // [1,2,3,4,5,6]
// 배열을 넣든 값을 넣든 결과는 같다.
let arr4 = arr.concat([3,4],5,6);
console.log(arr4); // [1,2,3,4,5,6]
'자바스크립트' 카테고리의 다른 글
자바스크립트 - 배열 메소드 정리2 (0) | 2023.10.03 |
---|