JavaScript 에서 배열 을 비 우 는 세 가지 방식

방식 1,splice

var ary = [1,2,3,4]; 
ary.splice(0,ary.length); 
console.log(ary); //    [],   ,      
방식 2,length 할당 0
이런 방식 은 매우 재 미 있 습 니 다.다른 언어,예 를 들 어 자바 와 같은 배열 의 length 는 읽 기 전용 이 고 할당 되 지 않 습 니 다....와 같다

int[] ary = {1,2,3,4}; 
ary.length = 0; 
자바 에서 오 류 를 보고 할 수 있 습 니 다.컴 파일 이 통 하지 않 습 니 다.
JS 에 서 는 수 조 를 비 울 수 있 습 니 다.예 를 들 어

var ary = [1,2,3,4]; 
ary.length = 0; 
console.log(ary); //    [],   ,      
현재 Prototype 의 배열clear방법 과 mootools 라 이브 러 리 의 배열empty방법 은 이러한 방식 으로 배열 을 비 웁 니 다.
방식 3,할당[]

var ary = [1,2,3,4]; 
ary = []; //                  
Ext 라 이브 러 리 Ext.Composite Element Lite 류clear방법 으로 비 웁 니 다.
방식 2 는 배열 의 다른 속성 을 보류 하고 방식 3 은 보류 하지 않 습 니 다.
많은 사람들 이 방식 2 의 효율 이 매우 높다 고 생각한다.왜냐하면 단지 length 에 게 값 을 다시 부 여 했 을 뿐 이 고,방식 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); 
테스트 결과:
 
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
이상 의 결 과 를 보면 방식 3 이 빠 르 고 효율 이 높다.
테스트 결 과 를 보면 원래 배열 의 다른 속성 을 유지 하지 않 으 면 Ext 가 사용 하 는 방식 이 더 추천 합 니 다.
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기