JavaScript에서 배열 복제

Ammar Ali 2023년10월12일
  1. JavaScript에서values()함수를 사용하여 기존 배열 복제
  2. JavaScript에서concat()함수를 사용하여 배열 복제
  3. JavaScript에서slice()함수를 사용하여 배열 복제
  4. JavaScript에서 루프를 사용하여 배열 복제
  5. JavaScript에서map()함수를 사용하여 배열 복제
JavaScript에서 배열 복제

이 튜토리얼은 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 밀리 초가 걸립니다.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - JavaScript Array