>  기사  >  웹 프론트엔드  >  JavaScript에서 배열을 지우는 세 가지 방법에 대한 자세한 소개

JavaScript에서 배열을 지우는 세 가지 방법에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-22 14:24:361642검색

이 글에서는 주로 JavaScript에서 배열을 지우는 세 가지 방법을 소개합니다. 매우 좋은 참조 값을 가지고 있습니다. 아래 에디터로 살펴보겠습니다

방법 1, splice

var ary = [1,2,3,4]; 
ary.splice(0,ary.length); 
console.log(ary); // 输出 [],空数组,即被清空了

방법 2, 길이는 0으로 할당

이 방법은 매우 흥미롭습니다. Java와 같은 다른 언어에서는 배열의 길이가 읽기 전용이므로 할당할 수 없습니다. 예를 들어

int[] ary = {1,2,3,4}; 
ary.length = 0;

는 Java에서 오류를 보고하고 컴파일에 실패합니다.

JS에서는 가능하며,

var ary = [1,2,3,4]; 
ary.length = 0; 
console.log(ary); // 输出 [],空数组,即被清空了

와 같이 배열이 지워진다. 현재 Prototype의 배열의 Clear 방식과 mootools 라이브러리의 배열의 빈 방식이 이 방식을 사용하고 있다. 배열을 지우려면.

방법 3, []에 값을 할당

var ary = [1,2,3,4]; 
ary = []; // 赋值为一个空数组以达到清空原数组

Ext 라이브러리의 Ext.CompositeElementLite 클래스의 Clear 메소드는 이 메소드를 사용하여 삭제한다.

방법 2는 배열의 다른 속성을 유지하지만 방법 3은 유지하지 않습니다.

많은 사람들은 길이만 재할당하는 방법 2가 더 효율적이라고 생각하는 반면, 방법 3은 객체를 다시 생성하기 때문에 더 효율적이라고 생각합니다. 테스트 후에는 방법 3이 가장 효율적이었습니다. 테스트 코드:

var a = []; 
for (var i=0; i< 1000000; i++){ 
 a.push(i); 
} 
var start = new Date(); 
//a = []; 
a.length = 0; 
var end = new Date(); 
alert(end - start);

테스트 결과:

td> IE6 IE7 IE8 IE9 파이어폭스 사파리 Chr
  IE6 IE7 IE8 IE9 Firefox Safari Chrome
a.length=0 94 29 14 1 4 3 1
a=[] 0 0 0 0 0 0 0
오메
a.length=0 94 29 14 1 4 3 1
a=[] 0 0 0 0 0 0 0

위 결과에서 볼 수 있듯이 방법 3이 더 빠르고 효율적입니다.

테스트 결과에 따르면 원래 배열의 다른 속성이 유지되지 않는 경우 Ext에서 사용하는 방법이 더 권장됩니다.

위 내용은 JavaScript에서 배열을 지우는 세 가지 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.