비교 기능과 함께 정렬을 사용하여 배열의 최대값과 최소값 찾기
정렬 방법 사용
먼저 정렬 방법을 사용하여 배열의 숫자를 정렬합니다. 배열 정렬 방법은 배열의 요소를 오름차순으로 정렬합니다. 그러나 정렬 방법이 JavaScript의 숫자 배열에서 항상 잘 작동하는 것은 아닙니다. 문자열 배열에서만 완벽합니다. 숫자 배열과 함께 정렬 방법을 사용하기 위해 비교 기능을 소개합니다. 비교 함수는 형식 함수 (a, b){return a-b}를 사용합니다. 정렬 방법과 결합하면 numberArray.sort(function (a, b){return a-b})와 비슷한 결과를 얻을 수 있습니다. 이 형식은 배열을 오름차순으로 반환합니다.
//create an array of numbers
const numbers = [2, 67,86, 34, 67, 45]
//sort the arrays using the compare function
let sortedNumbers = numbers.sort(function(a, b){
return a-b;
})
console.log(sortedNumbers) //[ 2, 34, 45, 67, 67, 86 ]
그러나 이것은 어떻게 작동합니까? 이것은 약간 혼란스러울 수 있지만 이해하기는 매우 쉽습니다. 정렬 기능은 두 개의 숫자를 가져와 비교 기능으로 보냅니다. 비교 함수는 두 숫자에 대한 평가를 수행하고 결과를 반환합니다. 반환된 결과는 양수, 음수 또는 0의 세 가지 형식으로만 나타날 수 있습니다. 반환된 결과가 음수이면 비교 함수의 첫 번째 값(이 경우 a)이 두 번째 값보다 먼저 정렬되고 b 정렬 함수는 반환된 값을 사용하여 숫자를 정렬합니다. 반환된 값이 양수이고 b가 a보다 먼저 정렬되면 그 반대의 경우가 발생합니다. 반환 값 0의 경우 두 값의 정렬 순서가 변경되지 않습니다.
이제 내림차순으로 정렬된 새 배열이 있으므로 이제 최소값과 최대값을 가져옵니다. 이것은 첫 번째 요소의 인덱스 값만 최소값으로 사용하고 마지막 요소의 인덱스 값을 최대값으로 사용하기 때문에 매우 쉽게 달성할 수 있습니다.
//create an array of numbers
const numbers = [2, 67,86, 34, 67, 45]
//sort the arrays using the compare function
let sortedNumbers = numbers.sort(function(a, b){
return a-b;
})
console.log(sortedNumbers) //[ 2, 34, 45, 67, 67, 86 ]
//get the minimum value
const minimumValue = sortedNumbers[0];
console.log(minimumValue) //2
//get the maximum value
const maximumValue = sortedNumbers[sortedNumbers.length-1];
console.log(maximumValue) //86
배열을 내림차순으로 정렬하고 인덱스 값을 교환하여 최소값과 최대값을 얻을 수도 있습니다. 내림차순으로 정렬하기 위해 비교 함수는 두 번째 값에서 첫 번째 값을 뺀 결과로 반환 값을 갖습니다.
// //create an array of numbers
const numbers = [2, 67,86, 34, 67, 45]
//sort the arrays in descending order using the compare function
let sortedNumbersDesc = numbers.sort(function(a, b){
return b-a;
})
console.log(sortedNumbersDesc) //[ 2, 34, 45, 67, 67, 86 ]
//get the minimum value
const minimumValue = sortedNumbersDesc[sortedNumbersDesc.length-1];
console.log(minimumValue) //2
//get the maximum value
const maximumValue = sortedNumbersDesc[0];
console.log(maximumValue) //86
Math.max.apply() 및 Math.min.appy() 사용
동일한 결과를 얻기 위해 Math.max.apply() 및 Math.min.apply()를 사용해 봅시다.
// //create an array of numbers
const numbers = [2, 67,86, 34, 67, 45];
//get the minimum value
console.log(Math.min.apply(null, numbers)) // 2
//get the maximum value
console.log(Math.max.apply(null, numbers)) // 86
이것이 이번 포스트의 전부입니다. 즐거운 독서와 행복한 코딩이 되셨기를 바랍니다!
Reference
이 문제에 관하여(비교 기능과 함께 정렬을 사용하여 배열의 최대값과 최소값 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chibukasia/find-max-and-min-values-of-an-array-using-sort-with-compare-functions-2pdd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)