KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

slice()

연결된 노트와 함께 읽기

slice()

2024년 11월 23일
  • slice() 메서드(Method)는 배열(Array)로 부터 특정 범위를 복사한 값들을 담고 있는 새로운 배열(Array)을 만드는데 사용한다.

  • 이 메서드(Method)를 사용하여 배열(Array)의 원하는 범위의 요소(item)를 추출할 수 있다.

  • 이 과정에서 원본 배열(Array)은 바뀌지 않는다.

  • 따라서 얕은 복사을 할 때 대표적으로 사용되고 불변성 유지가 된다.

문법

  • 첫번째 인자로 시작 인덱스(index), 두번째 인자로 종료 인덱스를 받으며, 시작 인덱스부터 종료 인덱스까지 값을 복사하여 반환한다.

예시

  • 아래 코드는 숫자 0부터 19까지를 담고있는 배열을 생성하는 예시이다.
JavaScript
  • 위의 숫자 배열에서 5부터 9까지를 복사한 값을 담고 있는 새로운 배열(Array)을 만든다.
JavaScript
  • 여기서 주의할 점은 첫번째 인자로 넘어온 시작 인덱스가 가리키는 값은 포함하지만, 두번째 인자로 넘어온 종료 인덱스가 가리키는 값은 포함하지 않는다.

  • 두번째 인자를 넘기지 않으면, 시작 인덱스가 가리키는 값부터 배열의 마지막 값까지 모두 복사해준다.

JavaScript
  • 첫번째 인자도 넘기지 않으면, 배열의 처음 값부터 마지막 값까지 전체를 복제해버리는 효과를 낼 수 있다.
JavaScript
  • slice() 메서드(Method)는 splice() 메서드(Method)와 달리 아무리 많이 호출해도 원본 배열(Array)의 값은 절대 건드리지 않는다.
  • 따라서 원본 배열이 그대로 보존되야 하는 상황에서 매우 유용하게 사용된다.
JavaScript

Synapse Map Insight

nums = Array(20).fill().map((_, i) => i) // >> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
nums.slice(5, 10) // >> [5, 6, 7, 8, 9]
nums.slice(10) // >> [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
nums.slice() // >> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
nums // >> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]