js 리스트 부분으로 가져오기 slice splice

    

 JavaScript에는 `sublist`라는 메서드는 없지만, 비슷한 기능을 하는 메서드인 **`slice`**와 **`splice`**가 있습니다. 이 두 메서드는 배열의 일부를 추출하거나 수정하는 데 유용하며, 사용 방식에 따라 원하는 부분 배열(서브리스트)을 얻을 수 있어요.


### 1. `slice`

- `slice`는 배열의 일부를 추출하여 새로운 배열을 반환합니다.

- 원본 배열에는 영향을 주지 않습니다.


```javascript

const list = [1, 2, 3, 4, 5];

const sublist = list.slice(1, 4); // 인덱스 1부터 3까지 추출 (4는 포함되지 않음)


console.log(sublist); // [2, 3, 4]

console.log(list);    // [1, 2, 3, 4, 5] (원본 배열 유지)

```


### 2. `splice`

- `splice`는 배열의 특정 부분을 제거하거나 새로운 요소를 추가해 원본 배열을 수정합니다.

- 일부 요소를 제거하여 서브리스트처럼 사용할 수 있습니다.


```javascript

const list = [1, 2, 3, 4, 5];

const sublist = list.splice(1, 3); // 인덱스 1부터 3개의 요소를 제거하고 반환


console.log(sublist); // [2, 3, 4]

console.log(list);    // [1, 5] (원본 배열이 수정됨)

```


이 두 메서드의 차이점은 **`slice`는 원본 배열을 수정하지 않고, `splice`는 원본 배열을 수정**한다는 점이에요. `slice`는 서브리스트를 생성하기에 적합하고, `splice`는 배열에서 특정 요소를 제거하거나 추가할 때 유용합니다.


# 이름 뜻


JavaScript의 `slice`와 `splice` 함수 이름은 각각의 기능을 잘 반영하는 단어로, 배열의 일부를 "잘라내는" 방식과 관련이 있습니다.


### 1. `slice`

- **의미**: "slice"는 영어로 "얇게 자르다" 혹은 "조각"을 뜻합니다.

- **의도**: 배열에서 일부 조각을 떼어내어 반환하는 메서드로, 원본 배열을 그대로 두고 "얇게 한 조각을 잘라서 가져오는" 것을 의미합니다. `slice`는 원본 배열을 유지하면서 원하는 구간을 복사해오는 메서드라는 점에서 이름이 잘 어울립니다.


### 2. `splice`

- **의미**: "splice"는 영어로 "두 가닥을 이어 붙이거나 끼워 넣다" 또는 "연결하다"는 뜻입니다.

- **의도**: 배열 내에서 특정 요소를 "제거하거나, 다른 요소를 끼워 넣거나, 이어붙이는" 기능을 제공합니다. 이 메서드는 원본 배열을 수정하며, 특정 위치에 요소를 넣거나 빼면서 배열을 재구성할 수 있는 기능을 염두에 두고 있습니다. 따라서, `splice`는 배열을 특정 위치에서 나눠 다른 요소를 "이어 붙이거나" "끼워 넣는" 의미를 잘 나타냅니다.


요약하면, `slice`는 배열을 "얇게 자르는" 느낌으로 일부를 추출하고, `splice`는 "분할하고 이어붙이는" 느낌으로 배열의 내용을 수정하는 의미를 담고 있어요.



댓글

이 블로그의 인기 게시물

js 스트링에서 요소 갯수 세기

STUDY

javascript cheatsheet