JavaScript에서 한 배열의 요소를 다른 배열의 요소로 교체하려면 splice() 메서드를 사용하면 됩니다. splice()는 배열의 특정 위치에서 요소를 제거하고, 그 자리에 새로운 요소를 삽입할 수 있는 강력한 메서드입니다.
splice()로 배열 요소 교체하기
아래 예제에서는 values 배열의 앞부분 요소들을 marks 배열의 요소들로 한 번에 교체합니다.
예제 코드
var values = ['John', 'David', 'Bob', 'Mike', 'Sam', 'Carol', 'Adam']; var marks = [55, 78, 90]; Array.prototype.splice.apply(values, [0, marks.length].concat(marks)); console.log(values);
위 코드의 핵심은 Array.prototype.splice.apply()를 활용한 부분입니다. apply()를 사용하면 splice()에 전달할 인수를 배열 형태로 만들어 넘길 수 있으며, 여기서는 시작 인덱스(0), 제거할 개수(marks.length), 그리고 삽입할 요소들(marks의 모든 값)을 하나의 배열로 합쳐 전달합니다.
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.
node fileName.js
여기서는 파일 이름이 demo303.js라고 가정합니다.
실행 결과
프로그램을 실행하면 아래와 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\javascript-code> node demo303.js [ 55, 78, 90, 'Mike', 'Sam', 'Carol', 'Adam' ]
출력 결과를 보면 values 배열의 첫 세 요소('John', 'David', 'Bob')가 marks 배열의 요소(55, 78, 90)로 교체되고, 나머지 요소들은 그대로 유지된 것을 알 수 있습니다.
참고: 더 간단한 대안 방법
ES6 이상 환경이라면 스프레드 연산자(...)를 사용해 더 직관적으로 작성할 수도 있습니다.
values.splice(0, marks.length, ...marks);
이 방식은 apply() 없이도 동일한 결과를 얻을 수 있어 가독성이 뛰어나므로, 최신 JavaScript 환경에서는 이 방법을 권장합니다.