데이터 배열의 배열과 일치하는 포인트 배열이 있습니다. 임 사용빠른 정렬시 ID 트랙을 유지하는 쉬운 방법
points = [[2,3.5], [1,2.7], [5,2.21], [2,351]];
dataID = [1, 2, 3, 4];
JavaScript로 퀵 기능은 다음과 같습니다 (내 자신과 함께 다음 X가 Y를 비교 기능, 작품 비교) 나는 새로운 순서를 알 필요가
quicksortbyXthenY: function(array){
if(array.length <= 1) return array;
var pivot = array.splice(Math.round(array.length/2),1)[0];
var lower = greater = [];
jQuery.each(array, function() {
if(compare(this, pivot)>=0){
lower.push(this);
}else{
greater.push(this);
}
});
return (quicksortbyXthenY(lower).concat([pivot])).concat(quicksortbyXthenY(greater));
을 즉 새로운 점의 순서와 정확히 일치하는 데이터 ID의 업데이트 된 배열.
이것을 구현하는 가장 쉬운 방법은 무엇입니까?
를? '{{id : 1, p : [2,3,5]}, {id : 2, p : [1,2.7]}, ...]'- 또는'[{id : 1, x : 2, y : 3.5}, ...]'. – nnnnnn
왜 네이티브'sort' 메서드 대신에 스스로 quicksort를 구현하고 있습니까? 너의 것이 훨씬 덜 효율적 인 것 같다. 또한 나는'byXthenY'가 의미하는 것을 보지 못합니다. – Bergi