> 웹 프론트엔드 > JS 튜토리얼 > js 배열 복제 방법 summary_javascript 기술

js 배열 복제 방법 summary_javascript 기술

WBOY
풀어 주다: 2016-05-16 18:32:03
원래의
1315명이 탐색했습니다.

따라서 기존 객체와 동일한 내용의 객체를 생성하고자 할 경우 단순 할당 연산으로는 생성이 불가능합니다. 이는 아직 불분명할 수 있습니다.

아래 예시를 보세요.

코드를 복사하세요 코드는 다음과 같습니다.

var a=[1,2,3,4]; var b=a;c=b; a.pop(); //마지막 요소 제거 Alert(b); 3 Alert(c ); //Pop 1,2,3
var a=[1,2,3,4]; var b=a;c=b; //마지막 항목 제거 element Alert( b); //팝업 1,2,3 경보(c); //팝업 1,2,3

위 코드를 실행한 결과 a가 변경되고 변수 b 및 c의 결과도 변경되었습니다.

위의 상황은 우리에게 필요한 것이 아닐 수도 있습니다. 우리가 원하는 것은 원본 개체와 동일한 내용을 가진 "새" 개체를 만드는 것입니다. 이런 식으로 우리는 몇 가지 복제 방법을 통해 이를 달성해야 합니다.

JS에서는 배열도 일종의 객체입니다. 여기서는 주로 Array의 복제 방법을 요약합니다. 여기에서는 Array 기본 객체에 대한 복제 방법을 확장합니다.

1. 가장 간단한 방법은 새 배열을 만들고 배열을 순회하며 새 배열에 항목을 하나씩 추가하는 것입니다.
코드 복사 코드는 다음과 같습니다.

Array.prototype.clone=function() { var a =[]; for(var i=0,l=this.length;iArray.prototype.clone=function (){ var a=[]; for(var i=0,l=this.length;i이런 구현 방법이 가장 생각하기 쉽고 이해하기 쉽지만, Array의 몇 가지 방법을 주의 깊게 살펴보겠습니다. 실제로 매우 간단한 방법이 있습니다. 다른 두 가지 방법에 대해 이야기 해 봅시다.
2. Array 객체의 Slice 방식을 통해.

slice 메소드는 전달된 매개변수 start 및 end 값을 통해 배열의 세그먼트를 반환합니다. 이 메소드는 원래 배열에서는 작동하지 않습니다. 모든 항목을 반환하도록 하려면 Slice(0)을 사용할 수 있습니다.



코드 복사 코드는 다음과 같습니다. Array.prototype.clone=function() { return this .slice(0); }
Array.prototype.clone=function(){ return this.slice(0) }


3. 물체.
concat 메소드는 배열을 병합하는 데 사용됩니다. 빈 함수와 병합하면 복제 기능을 구현할 수 있습니다.



코드 복사 코드는 다음과 같습니다. Array.prototype.clone=function() { return [ ].concat(this); } //또는 Array.prototype.clone=function(){ return this.concat() }
Array.prototype.clone=function(){ return [].concat (this) ; } //또는 Array.prototype.clone=function(){ return this.concat(); }


상상해 보면 다른 방법도 있을 것입니다. 그냥 내가 생각한 두 가지 방법.

JavaScript에서 배열을 복제하는 가장 간단한 방법


JavaScript 배열(slice() 함수)의 빠른 복제 및 배열 정렬, 셔플링 및 검색( 정렬()함수)
관련 라벨:
js
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿