JavaScript에서 배열 복제
-
JavaScript에서
values()
함수를 사용하여 기존 배열 복제 -
JavaScript에서
concat()
함수를 사용하여 배열 복제 -
JavaScript에서
slice()
함수를 사용하여 배열 복제 - JavaScript에서 루프를 사용하여 배열 복제
-
JavaScript에서
map()
함수를 사용하여 배열 복제
이 튜토리얼은 JavaScript에서values()
,concat()
,slice()
, loop 및map()
함수를 사용하여 기존 배열을 복제하는 방법에 대해 설명합니다.
JavaScript에서values()
함수를 사용하여 기존 배열 복제
기존 배열을 복제하려면 JavaScript에서values()
함수를 사용할 수 있습니다. 이 명령은 주어진 배열에서와 동일한 값을 가진 다른 배열을 만듭니다. 예를 들어,values()
함수를 사용하여 배열을 만들고 복제 해 보겠습니다. 아래 코드를 참조하십시오.
var ArrA = [1, 2, 3];
var ArrB = Object.values(ArrA);
console.log(ArrB)
출력:
[1, 2, 3]
Date()
함수를 사용하여이 함수의 성능을 테스트 할 수도 있습니다. Date()
함수는 현재 시간을 밀리 초 단위로 반환합니다. 예를 들어 1000x1000 배열을 만들고values()
함수를 사용하여 복제하고Date()
함수를 사용하여 성능을 확인해 보겠습니다. 아래 코드를 참조하십시오.
num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
ArrB = Object.values(ArrA);
console.log(new Date() - TimeStart, 'ms');
출력:
19 ms
이 테스트는 Chrome 브라우저에서 수행되지만 시스템 및 브라우저에 따라 변경 될 수 있습니다. 이 방법을 사용하여 다양한 기능의 성능을 확인할 수 있습니다.
JavaScript에서concat()
함수를 사용하여 배열 복제
concat()
함수를 사용하여 JavaScript에서 기존 배열을 복제 할 수도 있습니다. 이 함수는 빈 배열을 기존 배열과 연결하여 새 배열을 만들 수 있도록 한 배열을 다른 배열과 연결합니다. 예를 들어,concat()
함수를 사용하여 배열을 만들고 복제 해 보겠습니다. 아래 코드를 참조하십시오.
var ArrA = [1, 2, 3];
var ArrB = [];
ArrB = ArrB.concat(ArrA);
console.log(ArrB)
출력:
[1, 2, 3]
Date()
함수를 사용하여concat()
함수의 성능을 테스트 할 수도 있습니다. Date()
함수는 현재 시간을 밀리 초 단위로 반환합니다. 예를 들어 1000x1000 배열을 만들고concat()
함수를 사용하여 복제하고Date()
함수를 사용하여 성능을 확인해 보겠습니다. 아래 코드를 참조하십시오.
num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
var ArrB = [];
ArrB = ArrB.concat(ArrA);
console.log(new Date() - TimeStart, 'ms');
출력:
12 ms
출력에서 볼 수 있듯이concat()
함수를 사용하여 1000x1000 배열을 복제하는 데 12 밀리 초가 걸립니다.
JavaScript에서slice()
함수를 사용하여 배열 복제
slice()
함수를 사용하여 JavaScript에서 배열을 복제 할 수도 있습니다. 이 함수는 기존 배열의 선택된 요소 또는 값을 반환하고 다른 배열에 저장합니다. 예를 들어,slice()
함수로 기존 배열을 사용하여 배열을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
var ArrA = [1, 2, 3];
var ArrB = [];
ArrB = ArrA.slice();
console.log(ArrB)
출력:
[1, 2, 3]
Date()
함수를 사용하여slice()
함수의 성능을 테스트 할 수도 있습니다. Date()
함수는 현재 시간을 밀리 초 단위로 반환합니다. 이 기능에 걸린 시간을 확인하기 위해 클론 작업 전후의 시간을 기록 할 수 있습니다. 예를 들어 1000x1000 배열을 만들고slice()
함수를 사용하여 복제하고Date()
함수를 사용하여 성능을 확인해 보겠습니다. 아래 코드를 참조하십시오.
num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
var ArrB = ArrA.slice();
console.log(new Date() - TimeStart, 'ms');
출력:
14 ms
출력에서slice()
함수를 사용하여 1000x1000 배열을 복제하는 데 14 밀리 초가 걸립니다.
JavaScript에서 루프를 사용하여 배열 복제
루프를 사용하여 기존 배열을 복제 할 수도 있습니다. 루프를 사용하여 한 배열에서 다른 배열로 각 요소를 복사해야합니다. 예를 들어,while
루프를 사용하여 기존 배열을 복제 해 보겠습니다. 아래 코드를 참조하십시오.
var ArrA = [1, 2, 3];
var ArrB = [];
var i = ArrA.length;
while (i--) {
ArrB[i] = ArrA[i];
}
console.log(ArrB)
출력:
[1, 2, 3]
Date()
함수를 사용하여이 메서드의 성능을 테스트 할 수도 있습니다. 이 명령은 현재 시간 (밀리 초)을 반환합니다. 1000x1000 배열을 사용하여이 방법의 성능을 확인하겠습니다. 아래 코드를 참조하십시오.
num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
var ArrB = [];
var i = ArrA.length;
while (i--) {
ArrB[i] = ArrA[i];
}
console.log(new Date() - TimeStart, 'ms');
출력:
125 ms
출력에서 확인할 수 있듯이while
루프를 사용하여 1000x1000 배열을 복제하는 데 125 밀리 초가 걸립니다.
JavaScript에서map()
함수를 사용하여 배열 복제
기존 배열을 복제하려면 JavaScript에서map()
함수를 사용할 수도 있습니다. 이 명령은 기존 배열의 각 요소에 대해 함수를 호출하여 다른 배열을 만듭니다. 예를 들어map()
함수를 사용하여 기존 배열을 사용하여 배열을 생성 해 보겠습니다. 아래 코드를 참조하십시오.
var ArrA = [1, 2, 3];
var ArrB = ArrA.map(function(i) {
return i
});
console.log(ArrB)
출력:
[1, 2, 3]
Date()
함수를 사용하여map()
함수의 성능을 테스트 할 수도 있습니다. 이 함수가 1000x1000 배열에 대해 어떻게 수행되는지 확인해 보겠습니다. 아래 코드를 참조하십시오.
num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
ArrB = ArrA.map(function(i) {
return i
});
console.log(new Date() - TimeStart, 'ms');
출력:
25 ms
출력에 따라map()
함수를 사용하여 1000x1000 배열을 복제하는 데 25 밀리 초가 걸립니다.