[javascript] 배열 slice() 사용하기

2023. 2. 27. 23:43· HTML-CSS-JavaScript/JavaScript

오늘은 배열을 공부하면서 자주 등장하는 slice()에 대해 알아보겠습니다.  

 

slice() 란? 

slice() 메서드는 어떤 배열의 begin 부터 end 까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다

여기서 중요한 점은 복사본으로 새로운 배열 객체로 반환하고 원본 배열은 바뀌지 않는다는 점입니다 !

배열의 맨 뒤에 원소를 추가하거나 제거하는 push() ,pop() 

배열의 맨 앞에 원소를 추가하거나 제거하는 unshift(), shift() 

위의 4가지 메서드는 원본 배열을 바꾸면서 배열을 수정합니다. 따라서 원본 배열을 수정하지 않고 배열을 만들기 위해선 slice()가 필요합니다!! 

 

slice()의 사용법  

    arr.slice([begin[, end]])

사용하고자 하는 배열.slice(begin,end)

매개변수로 사용되는 begin은 추출 시작점에 대한 인덱스를 의미합니다. 음수 인덱스는 배열의 끝에서부터의 길이를 나타냅니다 -1은 가장 마지막이 됩니다. 만약 slice(-2)로 작성하였다면 배열에서 마지막 두개의 엘리먼트를 추출합니다. begin은 써도 되고 안써도 되는데 begin이 선언되지 않은경우에는 0번 인덱스부터 추출합니다. 만약 begin이 배열의 길이보다 큰 경우에는 빈 배열을 반환합니다.   

 

매개변수로 사용되는 end는 종료할 기준 인덱스입니다. end 인덱스를 제외하고 바로 앞 인덱스까지 추출합니다. 만약 slice(1,4) 는 두번째 요소부터 네번쩨 요소 까지 추출합니다. 음수 인덱스는 배열의 끝에서 부터의 길이를 나타냅니다. 만약 slice(3,-1)이라면 네번째요소부터 끝에서 두번째 요소까지 추출합니다. end가 선언되지 않은 경우에는 배열의 끝까지 추출합니다. 만약 end 값이 배열의 길이보다 크다면 , 배열의 길이 즉 배열의 끝까지 추출합니다. 

 

반환값으로는 추출한 엘리먼트를 포함한 새로운 배열을 반환합니다. 

 

예제로 slice()의 사용법에 대해 알아보겠습니다.

let fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
let citrus = fruits.slice(1, 3)
// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']

 

fruits.silce(1,3) 은 인덱스 1번째있는 요소부터 인덱스 3번째 요소의 바로 앞까지의 요소를 추출해서 새로운 배열을 만듭니다. 

따라서 위의 예제에서는 1번째 요소인 'Orange', 2번째 요소인 'Lemom'이 추출되어 반환되는 것을 알 수 있습니다. 

 

오늘은 이렇게 배열 slice()에 대해 알아보았습니다. 

 

오늘도 열공!!

'HTML-CSS-JavaScript > JavaScript' 카테고리의 다른 글

[javascript] Scope에 대해  (2) 2023.03.02
[javascript] 원시 자료형과 참조 자료형 , 얕은 복사와 깊은 복사  (0) 2023.03.02
[javascript] 배열 join() 사용하기  (0) 2023.02.28
[javascript] for of 문이란 ?  (0) 2023.02.27
[javascript] 자바스크립트 타입 찾기  (0) 2023.02.27
'HTML-CSS-JavaScript/JavaScript' 카테고리의 다른 글
  • [javascript] 원시 자료형과 참조 자료형 , 얕은 복사와 깊은 복사
  • [javascript] 배열 join() 사용하기
  • [javascript] for of 문이란 ?
  • [javascript] 자바스크립트 타입 찾기
배트리버
배트리버
🐾 사람 좋아, 개발 좋아 🐾 궁금한 건 끝까지 파고들고, 배운 건 즐겁게 나누는 개발자의 놀이터
배트리버
리트리버의 개발 놀이터
배트리버
전체
오늘
어제
  • 분류 전체보기
    • 네트워크
    • 기초 셋팅
    • 오늘의 일기
    • 리액트
    • 코테 준비
      • 프로그래머스
      • 백준
    • 코드스테이츠44기 프론트엔드
    • HTML-CSS-JavaScript
      • HTML
      • CSS
      • JavaScript
    • 자료구조&알고리즘
    • TypeScript
    • Git
    • Tip
    • 프로젝트
    • Next.js
    • 트러블슈팅

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 리액트 상태관리
  • 자바스크립트
  • 코드스테이츠
  • 코드스테이츠 회고록
  • 코드스테이츠 44기 프론트엔드
  • 탄스택쿼리
  • 리액트쿼리
  • 타입스크립트문법
  • 리액트
  • KPT 회고
  • 프로그래머스
  • 티스토리챌린지
  • BFS
  • 자바스크립트 비동기
  • 코드스테이츠 블로깅
  • 코드스테이츠 프론트엔드
  • 오블완
  • 네트워크
  • 프로젝트 회고
  • 코드스테이츠 44기

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
배트리버
[javascript] 배열 slice() 사용하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.