javascript 노드 정렬 2

4.567913.그러나 표준 브 라 우 저 는 이 속성 을 지원 하지 않 습 니 다.IE 에서 XML 문서 에 도 이 속성 이 없습니다.이 때 는 노드 의 parentNode 와 nextSibling 이 필요 합 니 다.그러나 두 가지 만 비교 하면 속 도 를 올 릴 수 없습니다.그래서 우 리 는 최근 공공 조상 들 의 아이들 순 서 를 비교 했다.이때 산법 의 위력 이 나 타 났 다.이 는 1 면 으로,한 친구 가 제공 한 LCA 에 의 해 만들어 진 것 으로,물론 대체적인 사고방식 은 역시 JK 대신 덕분이다.그러나 실제 효과 가 뜻 대로 되 지 않 아 jQuery 의 sortOrder 보다 느 리 고 문 제 는 LCA 를 구 하 는 데 있 을 것 으로 예상 된다
 
//
//http://www.cnblogs.com/jkisjk/archive/2011/01/28/array_quickly_sortby.html
var hasDuplicate = false;
var sortBy = function(nodes){
var result = [], array = [], n = nodes.length, i = n, node;
while(node = nodes[--n]){
(array[n] = new Number(~~node.sourceIndex))._ = node;
}
array.sort(function(a,b){
if(a === b) hasDuplicate = true;
return a - b ;
});
while( i )
result[--i] = array[i]._;
return result;
}
다음은 2 판 입 니 다.개선 을 통 해 jQuery 의 그것 보다 세 배 빠 릅 니 다(테스트 대상 은 260 여 개의 노드 를 가 진 문서).45677913.

좋은 웹페이지 즐겨찾기