Array.prototype.slice()
사용법
배열에서 slice()
함수는
배열의 특정 범위의 요소를 잘라내어(slice) 추출한 결과를 새로운 배열로 반환하는 함수입니다.
이 과정에서 원본 배열은 바뀌지 않습니다.
이 함수를 사용하여 배열의 원하는 범위의 요소를 잘라서 추출할 수 있습니다.
문자열에서는 String.prototype.slice()
가 문자열의 특정 범위의 문자열을 잘라내어 추출한 결과를 새로운 문자열로 반환합니다.
참고하세요!
slice()
함수명의 유래는 그 함수의 동작과 관련이 있습니다. "slice"라는 용어는 어떤 대상에서 일부분을 잘라내거나 조각으로 추출하는 동작을 나타냅니다. 배열의 slice()
함수는 이러한 동작을 수행하는 함수로, 원본 배열에서 특정 범위의 요소를 "잘라내서" 새로운 배열로 만듭니다. 따라서 함수명 slice()
는 해당 동작을 명확하게 나타내기 위해 사용되었을 것으로 생각됩니다.
slice()
함수의 형식은 다음과 같습니다.
구문
arr
은 slice()
함수를 적용할 원본 배열입니다.
매개변수
start |
옵션. 추출을 시작할 0 부터 시작하는 인덱스를 지정합니다.
|
---|---|
end |
옵션. 추출을 끝낼 인덱스를 지정합니다. slice() 는 지정한 이 end 인덱스를 제외하고 추출합니다.
|
반환 값
slice()
함수는 지정된 범위에 있는 원본 배열의 요소를 추출하여 새로운 배열을 반환합니다.
반환되는 이 새로운 배열은 원본 배열의 일부 요소를 복사한 것이므로, 원본 배열은 바뀌지 않습니다.
매개변수와 반환 값 예시
다양한 활용 사례
slice()
함수는 배열과 문자열뿐만 아니라 다양한 데이터 타입에 대해서도 활용될 수 있으며, 다양한 상황에서 유용하게 사용될 수 있습니다.
다음은 slice()
함수의 다양한 활용 사례입니다.
배열의 부분 복사본 만들기
slice()
함수를 사용하여 배열의 부분 복사본을 만들어 다른 배열에 저장하거나 배열을 분할할 수 있습니다.
배열 요소 정렬 및 필터링
slice()
함수를 사용하여 배열을 정렬하거나 필터링할 때, 원본 배열의 무결성을 유지하면서 작업을 수행할 수 있습니다.
코드 부연설명
sort()
함수는 배열 요소를 원하는 정렬 순서로 변경(sort)하는 함수입니다.
코드 부연설명
filter()
함수는 배열의 요소를 순회하면서 콜백 함수를 사용하여 원하는 조건에 따라 필터링하는 함수입니다. 필터링된 배열을 반환합니다.
문자열 처리
slice()
함수는 문자열에서 특정 부분을 추출하여 새로운 문자열을 생성하거나 문자열을 자를 때 유용합니다.
참조: 배열과 관련된 프로토타입 메서드로 문자열 다루기
문자열은 자바스크립에서 문자 배열로 취급되므로, slice()
함수뿐만 아니라 문자열에 대해 배열과 관련된 프로토타입 메서드 중 일부를 사용할 수 있습니다.
length
속성: 문자열의 길이를 반환합니다.charAt()
또는 문자열 인덱싱: 문자열에서 특정 위치의 문자를 가져옵니다.substring()
: 문자열에서 특정 범위의 문자열을 추출합니다.split()
: 문자열을 주어진 구분자로 나누어 배열로 반환합니다.join()
: 배열을 문자열로 변환하며, 배열 요소를 지정된 구분자로 연결합니다.
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
slice()
|
1 | 12 | 1 | 1 |
명세서
명세서 사양 | |
---|---|
slice()
|
ECMAScript Language Specification #sec-array.prototype.slice |