JavaScript의 copyWithin() 메서드는 배열 내부에서 요소를 다른 위치로 복사할 때 사용합니다. 이 메서드는 배열의 길이를 변경하지 않고, 지정한 위치에 기존 요소를 덮어쓰면서 값을 복사합니다.
copyWithin() 메서드의 매개변수
- target – 복사된 요소를 넣을 시작 위치(인덱스)입니다. 필수 값입니다.
- begin – 복사를 시작할 인덱스입니다. 선택적 매개변수이며, 생략하면 기본값 0부터 복사합니다.
- end – 복사를 종료할 인덱스입니다. 선택적 매개변수이며, 이 인덱스 바로 앞까지만 복사 대상에 포함됩니다.
예제
다음 코드를 실행하면 copyWithin() 메서드가 실제로 어떻게 동작하는지 확인할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<script>
var num = ["One", "Two", "Three", "Four", "Five", "Six", "Seven"];
document.write(num);
document.write("<br>"+num.copyWithin(3,0,4));
</script>
</body>
</html>
실행 결과
One,Two,Three,One,Two,Three,Four
위 예제에서 num.copyWithin(3, 0, 4)는 인덱스 0부터 3까지("One"부터 "Four")의 요소를 인덱스 3 위치부터 차례대로 복사합니다. 그 결과 뒤쪽의 "Five", "Six", "Seven"이 각각 "One", "Two", "Three", "Four"로 덮어써진 것을 확인할 수 있습니다.