JavaScript에서 최대값을 찾는 방법

青灯夜游
풀어 주다: 2023-01-06 11:18:07
원래의
18580명이 탐색했습니다.

방법: 1. "Math.max()" 함수를 사용하여 지정된 두 숫자 중 더 큰 값을 반환할 수 있는 최대값을 찾습니다. 2. 재귀 함수를 사용하여 최대값을 찾습니다. 반복하여 최대값을 찾습니다. 4. "Math.max.apply(null, [value, value, value, value..)" 문을 사용하여 최대값을 찾습니다.

JavaScript에서 최대값을 찾는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

첫 번째 방법

Math.max

JavaScript는 숫자 집합의 최대값을 반환하는 Math.max 함수를 제공합니다. 사용법은 다음과 같습니다. 어느 쪽이든 인수가 있으면 숫자 값으로 변환할 수 없으므로 결과는 NaN입니다.

    max는 Math의 정적 메서드이므로 Math 인스턴스의 메서드가 아닌 Math.max()와 같이 사용해야 합니다(간단히 말해서 new를 사용하지 마세요)
  • 있는 경우 매개변수가 없으면 결과는 -무한대입니다(음의 무한대임에 유의하세요)
  • 그리고 분석해야 할 것은 다음과 같습니다.
  • 1 매개변수를 숫자 값으로 변환할 수 없다면 이는 매개변수가 비교를 위해 다음을 수행할 수 있습니다. 예:

    Math.max([value1[,value2, ...]])
    로그인 후 복사
  • 2. 매개변수가 없으면 결과는 -Infinity입니다. 그에 따라 Math.min 함수는 매개변수가 없으면 결과가 됩니다.
Math.max(true, 0) // 1
Math.max(true, '2', null) // 2
Math.max(1, undefined) // NaN
Math.max(1, {}) // NaN
로그인 후 복사

Math.max 방법을 이해하면서 배열의 최대값을 찾는 것을 예로 들어 이 요구 사항을 달성하기 위해 어떤 방법을 사용할 수 있는지 생각해 봅니다.

원래 방법

가장 원시적인 방법은 한 번 반복하는 것입니다:

var min = Math.min();
var max = Math.max();
console.log(min > max);
로그인 후 복사

reduce

배열을 순회하여 최종 값을 찾으므로 축소 방법을 사용할 수 있습니다:

var arr = [6, 4, 1, 8, 2, 11, 23];

var result = arr[0];
for (var i = 1; i < arr.length; i++) {
    result =  Math.max(result, arr[i]);
}
console.log(result);
로그인 후 복사

적용
적용을 사용하는 것도 또 다른 방법입니다.

var arr = [6, 4, 1, 8, 2, 11, 23];

function max(prev, next) {
    return Math.max(prev, next);
}
console.log(arr.reduce(max));
로그인 후 복사

ES6…

ES6의 확산 연산자 사용:

var arr = [6, 4, 1, 8, 2, 11, 23];
console.log(Math.max.apply(null, arr))
로그인 후 복사

두 번째 방법

재귀 함수 사용

var arr = [6, 4, 1, 8, 2, 11, 23];
console.log(Math.max(...arr))
로그인 후 복사

for 루프를 사용하여 순회
var arr = [9,8,55,66,49,68,109,55,33,6,2,1];
var max = arr[0];
function findMax( i ){
  if( i == arr.length ) return max;
  if( max < arr[i] ) max = arr[i];
  findMax(i+1);
}
 
findMax(1);
console.log(max);
로그인 후 복사
적용을 사용하여 배열을 직접 전달 the max 메소드 Return

var arr = [9,8,55,66,49,68,109,55,33,6,2,1];  
var max = arr[0];
for(var i = 1; i < arr.length; i++){
  if( max < arr[i] ){
    max = arr[i];
  }
}
 
console.log(max);
로그인 후 복사

또한 배열 정렬 방법에는 여러 가지가 있는데, 모두 정렬 후 새로운 배열 인덱스 값을 기준으로 최대값/최소값을 얻을 수 있습니다.

Math.max.apply(null,[9,8,55,66,49,68,109,55,33,6,2,1])
로그인 후 복사

다차원 배열은 다음과 같이 수정할 수 있습니다:

var a=[1,2,3,5];
console.log(Math.max.apply(null, a));//最大值
console.log(Math.min.apply(null, a));//最小值
로그인 후 복사

[관련 권장 사항:

javascript 학습 튜토리얼

]

위 내용은 JavaScript에서 최대값을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿