js slice()

Codemaniac·2021년 5월 27일
0

Js에서 문자열 또는 배열에서 원하는 부분을 자르거나 추출할 때 사용하는
slice 와 splice에 대해 알아보자.

slice

먼저 문자열에 slice를 사용하는 경우에 대해 알아보자.


let a = "Hello World!"
 
let b = a.slice(2)


console.log(b) = llo World!



let c = "52071"

let d = c.slice(3)


console.log(d) = 71



> 숫자의 경우 인덱스 값이 있는 것이 아니기 때문에 slice 함수를 사용할 수 없다.
예를 들어 
console.log(52071.slice(3))
를 입력할 시 다음과 같은 에러 메시지가 나온다.
Uncaught SyntaxError: Invalid or unexpected token
따라서 숫자를 String()함수를 사용해서 
String(52071) 을 통하여
===> "52071"로 만들어준 후에 slice함수를 이용하면 된다.

위에서 사용한 slice(n)을 보면 알겠지만 문자열에서 인덱스를 n이라고 할 때
n 앞에 있는 문자들을 모두 제거한 값을 나타내주는 것이 slice(n)이다.




그러면 slice(n) 에서 n 에 음수(-)를 넣어주면 어떻게 될까? 예를 들어 a.slice(-1)을 해줘보자.


```js console.log(a.slice(-1))

===>>> !

console.log(a.slice(-2))

===>>> d!

console.log(a.slice(-3))

===>>> ld!

console.log(a.slice(-4))

===>>> rld!

console.log(a.slice(-5))

===>>> orld!



보통 문자열의 인덱스 값에 음수값을 넣어주면 undefined라는 결과가 나온다. 하지만 slice 함수 뒤 소괄호에 음수값을 넣어주면 인덱스 뒤에서부터 시작된다고 생각하면 된다. 그렇게 해서 n이 더 낮아질수록 뒤에서 시작하는 인덱스 값은 커진다고 보면 된다. 시작과 진행하는 방향은 다르지만 인덱스 값을 기준으로 문자열 앞부분을 자르는 것은 동일하다.
 
 
 
 
>  이제는 slice 함수의 다른 사용 방법에 대해서도 알아보자. 
위에서는 소괄호 안에 특정 숫자를 입력한 후 그 인덱스 앞부분을 자르는 것이었다면
이번에는 원하는 범위를 제외한 문자를 자르는 방법이다.
 
 
 
 
 ```js
  console.log(a.slice(0,7))
  
 
 ===>>> Hello W


  
  console.log(a.slice(2,5))

===>>> llo



  console.log(a.slice(3,30))

===>>> lo World!
  

  

위와 같이 slice(시작 인덱스, 마지막 인덱스)로 나타낼 경우
시작 인덱스부터 마지막 인덱스 앞까지의 값을 제외하고
나머지 문자들은 모두 제거한 후 나타내 준다.

배열에도 똑같이 slice()를 이용할 수 있다.

let a = [1, 2, 3, 4, 5, 6, 7, 8, 9]



console.log(a.slice(3))

===>>> [4, 5, 6, 7, 8, 9]


console.log(a.slice(-2))

===>>> [8, 9]


console.log(a.slice(2,5))

===>>> [3, 4, 5]



let b = ["현수","민아",5,7,"덕환"]



console.log(b.slice(0,3))

===>>> ["현수","민아",5]
profile
코딩에 미치다.

0개의 댓글