2013-06-06 3 views
-3

그래서 배열의 요소 정렬에 대한 기사를 읽습니다. 나는 그것의하지 undetstand 로직을배열을 비교하고 정렬하는 방법

function compareNumeric(a, b) { 
    if (a > b) return -1; 
    if (a < b) return 1; 
} 

var arr = [ 1, 2, 15 ]; 

arr.sort(compareNumeric); 

alert(arr); // 1, 2, 15 

: 여기에 일부 코드입니다. 왜 우리는이 경우에()를 사용하지 않습니까?

+3

왜'for'을 사용합니까? 그렇게하면 JS 또는 C++ (JS 엔진 자체)에서 구현 된 좋은 알고리즘과 비교하여 엄청나게 느린 정렬 알고리즘을 독자적으로 구현해야합니다. – ThiefMaster

+1

도둑이 말했듯이, 당신의 기능은'return b - a;를 수행함으로써 단순화 될 수 있습니다. –

+0

내가 말했듯이 나는 그것을 이해하지 못합니다. 나는 array의 각 요소를 for()로 서로 비교할 수 있다고 생각합니다. 그게 내가 생각하는 것입니다. –

답변

1

.sort() 함수는 콜백 함수가 배열 항목을 비교할 수있게합니다. 콜백 함수는 정렬 알고리즘에서 여러 번 호출됩니다. 이 링크는 도움이 될만한 정보로 http://www.w3schools.com/jsref/jsref_sort.asp

0

http://www.w3schools.com/jsref/jsref_sort.asp

확인이 링크 밖으로 ... 당신은 루프의 필요가 없습니다 only..so 정렬 기능을 사용하는 n 개의 YAA. 이 수치 I/P에 대한 정렬 기능을 사용하면 와 JS, 당신은


<html> 
<body> 

<p id="demo">Click the button to sort the array.</p> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() 
{ 
var points = [40,100,1,5,25,10]; 
points.sort(function(a,b){return a-b}); 
var x=document.getElementById("demo"); 
x.innerHTML=points; 
} 
</script> 

</body> 
</html> 

그것이이 기능을 시도 .... 정렬하는 방법 말할 수있는 인자로 기능을 제공해야 더 간단합니다 ...

관련 문제