자바 스크립트 배열에는 비교에 사용할 함수를 받아들이는 원시 정렬 함수가 있습니다. 숫자를 정렬하고 머리와 꼬리를 가져 와서 최소값과 최대 값을 얻을 수 있습니다.기본적으로
var sorted = arrayOfNumbers.sort(function(a, b) { return a - b; }),
,min = sorted[0], max = sorted[sorted.length -1];
은 정렬 방법은 사 전적으로 (사전 순서) 정렬 그래서 당신은이 숫자 정렬을 얻기 위해 사용하는 함수에 전달해야하는 이유입니다. 전달한 함수는 정렬 순서를 결정하기 위해 1, -1 또는 0을 반환해야합니다.
// standard sort function
function sorter(a, b) {
if (/* some check */)
return -1; // a should be left of b
if (/*some other check*/)
return 1; // a should be to the right of b
return 0; // a is equal to b (no movement)
}
숫자의 경우 첫 번째 매개 변수에서 두 번째 숫자를 빼기 만하면 순서를 결정할 수 있습니다. 이 알고리즘은 O (N) 및 요소를 저장하는 데 필요한 더 이상 추가 메모리 작동
var numbers = [5,8,123,1,7,77,3.14,-5];
// default lexicographical sort
numbers.sort() // -5,1,123,3.14,5,7,77,8
// numerical sort
numbers.sort(function(a, b) { return a - b; }) // -5,1,123,3.14,5,7,77,8
첫 번째 요소를 사용하여 초기화하면 더 이상 데이터 유형의 제한 사항에 신경 쓸 필요가 없습니다. – Mnebuerquo
첫 번째 요소를 사용하여 초기화하면 하나 있다고 가정합니다. (시퀀스가 비어있을 수 있습니다.) –
자바 스크립트에서는 낮음 = 정의되지 않음, 높음 = 정의되지 않음 ... ... 음수 인피니티보다 훨씬 더 의미가 있습니다 ... – nickf