자바스크립트(Javascript) 내장 객체 Array slice() 함수 알아보기 – 5

 

환경: Eclipse Mars

 

자바스크립트의 Array 객체에서 slice() 함수는 배열요소에서 지정한 값을 가져오고 싶을 때 사용하는 함수 입니다. 지정한 값이 2개 이상이라면 배열 객체를 반환합니다. 그럼 slice 함수를 어떻게 사용하는지 샘플과 함께 알아 보도록 하겠습니다.

 

문법은 다음과 같습니다. slice 함수에서 인수는 두 개입니다. 배열의 시작과 끝을 지정할 수 있습니다. start 는 배열의 시작 지점이며 두 번째 end 값은 없어도 되는 선택 사항입니다.  

 

Array.slice(start, [end])

 

일반적으로 start end 값을 넣어서 배열의 요소를 가져오게 됩니다. orgArr.slice(2) 라면 start 2 이기 때문에 배열의 2번째 다음부터 끝까지 출력하게 됩니다.  orgArr.slice(2, 6) 도 같은 표현이 됩니다. 그런데 end 에 음수가 들어가면 어떻게 될까요? end 값이 음수이면 배열의 [전체 길이 + end] 한 결과값이 slice() 의 인수값으로 들어갑니다. 아래 샘플을 예로 들자면 6 + (-1) = 5 이므로 slice(0, 5)

가 되어서 다섯 개의 알파벳이 출력되는 것입니다.

<!DOCTYPE HTML>
<html>
<head>
<meta charset="euc-kr">
<title>Javascript</title>
<style type="text/css">
body {background-color: #e7e7e7;}
div {margin : 10px;}
</style>
<script type="text/javascript">
<!--
	// 첫 번째 생성자로 개수를 지정하지 않을 때 
	var orgArr = new Array("A", "B", "C", "D", "E", "F");
	var newArr = orgArr.slice(0, -1);
	
	document.write("추출한 값 : " + newArr);
//-->
</script>
</head>
<body>
</body>
</html>

자바스크립트(Javascript) 내장 객체 Array 의 slice() 함수 알아보기 – 5회

 

그럼 start 가 음수이면 어떻게 될까요? 배열의 전체길이 + start 로 계산되어서 slice() 인수로 들어갑니다. 아래 샘플로 예를 들자면 slice(3) 이 되니까 배열의 3번째 요소의 값인 D 부터 출력이 되는 것입니다

// 첫 번째 생성자로 개수를 지정하지 않을 때 
var orgArr = new Array("A", "B", "C", "D", "E", "F");
var newArr = orgArr.slice(-3);
	
document.write("추출한 값 : " + newArr + "<br/>");

자바스크립트(Javascript) 내장 객체 Array 의 slice() 함수 알아보기 – 5회


저작자 표시 비영리 변경 금지
신고
Posted by 녹두장군