자바스크립트

자바스크립트 - 배열 메소드 정리1(splice, slice, concat)

승큐니 2023. 10. 3. 21:27

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