[wecode/pre/Replit] 07. Array - 08. splice 1

2022. 10. 5. 17:06pre-JS-Replit

 Read.me 
# 08. splice

splice 메서드는 배열 내의 특정한 요소를 삭제하거나, 다른 요소로 대치하거나 새로운 요소를 추가할 때 사용합니다.

splice 메서드를 쓸 때는 인자의 순서에 주의해야 합니다.

![https://storage.googleapis.com/replit/images/1600865417789_04e08b06348e17f859413b1a41125078.png](https://storage.googleapis.com/replit/images/1600865417789_04e08b06348e17f859413b1a41125078.png)

위의 그림에서는 인자 3개가 들어갔지만, splice 메서드는 필요에 따라 인자를 최소 1개만 쓸 수도 있습니다.

- 첫번째 인자 : 배열의 index의 시작점
- 두번째 인자 : 삭제할 요소의 개수
- 세번째 인자 이후 : 추가하고 싶은 요소

예를 들어, [1,2,3,4,5] 라는 배열에서 숫자 3을 제거하고 그 자리에 10을 추가하려고 합니다.

그럴 땐 다음과 같이 메서드를 활용하시면 됩니다.

```js
let num = [1,2,3,4,5];
num.splice(2,1,10);

console.log(num); // [ 1, 2, 10, 4, 5 ]
```

splice 메서드를 언제 쓸까, 이런게 진짜 필요할까 의문이 들 수도 있지만, 의외로 일상생활 속의 기능에 자주 쓰입니다.

보통 댓글 삭제 기능을 구현할 때 splice 메서드를 많이 활용한답니다 :)

## Assignment

사촌동생이 놀러와서 장을 보러 나왔는데, 이야기를 들어보니 사촌동생은 유당불내증이 있다고 합니다.

장바구니에서 우유를 제거하고, 두유를 추가하는 함수를 구현해주세요.

```js
goToMart() // ['햄', '김밥김', '단무지', '두유', '시금치', '쌀', '당근', '계란']
```

 index.js 
function goToMart() {
  let shoppingCart = ['햄', '김밥김', '단무지', '우유', '시금치', '쌀', '당근', '계란'];
  // 여기에 코드를 작성해주세요
  shoppingCart.splice(3,1,'두유');
  return shoppingCart;
}
console.log(goToMart())
module.exports = { goToMart };
▶ splice( )
  ▷ splice(a, b, c)
      a - 순서
      b - 제거할 개수(a 인덱스부터 시작해서)
      c - 추가할 요소들(제거만 하면 안 써도 됨)
  ▷ e.g.
     let myArray = ['가', '나', '다', '라', '마'];
     let modiArray = myArray.splice(2, 1, '바뀐 부분');     // ['가', '나', '바뀐 부분', '라', '마']

 console 
[
  '햄',     '김밥김',
  '단무지', '두유',
  '시금치', '쌀',
  '당근',   '계란'
]