Maison > interface Web > js tutoriel > le corps du texte

Comment trouver la valeur maximale en JavaScript

青灯夜游
Libérer: 2023-01-06 11:18:07
original
18515 Les gens l'ont consulté

Méthode : 1. Utilisez la fonction « Math.max() » pour trouver la valeur maximale, qui peut renvoyer la plus grande valeur des deux nombres spécifiés ; 2. Utilisez la fonction récursive pour trouver la valeur maximale ; 3. Utilisez une boucle for pour parcourir pour trouver la valeur maximale ; 4. Utilisez l'instruction "Math.max.apply(null, [value, value, value, value...)" pour trouver la valeur maximale.

Comment trouver la valeur maximale en JavaScript

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

La première méthode

Math.max

JavaScript fournit la fonction Math.max pour renvoyer un ensemble de nombres Maximum valeur, l'utilisation est :

Math.max([value1[,value2, ...]])
Copier après la connexion

Il convient de noter :

  • Si un paramètre ne peut pas être converti en valeur numérique, le résultat est NaN.

  • max est une méthode statique de Math, elle doit donc être utilisée comme ceci : Math.max(), pas comme une méthode d'instance Math (en termes simples, n'utilisez pas new )

  • S'il n'y a pas de paramètres, le résultat est -Infini (notez qu'il s'agit d'un infini négatif)

Et ce que nous devons analyser est :

1. Si un paramètre ne peut pas être converti en nombre, cela signifie que si le paramètre peut être converti en nombre, il peut être comparé, comme :

Math.max(true, 0) // 1
Math.max(true, '2', null) // 2
Math.max(1, undefined) // NaN
Math.max(1, {}) // NaN
Copier après la connexion

2. S'il n'y a pas de paramètres, le résultat est - Infini, correspondant à la fonction Math.min, s'il n'y a pas de paramètres, le résultat est Infini, donc :

var min = Math.min();
var max = Math.max();
console.log(min > max);
Copier après la connexion

Comprenant la méthode Math.max, prenons le exemple de recherche de la valeur maximale d'un tableau et réfléchissez aux méthodes qui peuvent être utilisées pour répondre à cette exigence.

Méthode originale

La méthode la plus primitive consiste à le parcourir à nouveau :

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);
Copier après la connexion

réduire
Depuis est de trouver une valeur finale en parcourant le tableau, nous pouvons alors utiliser la méthode de réduction :

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

function max(prev, next) {
    return Math.max(prev, next);
}
console.log(arr.reduce(max));
Copier après la connexion

apply

Utiliser apply est une autre façon.

var arr = [6, 4, 1, 8, 2, 11, 23];
console.log(Math.max.apply(null, arr))
Copier après la connexion

ES6 …

Utilisez l'opérateur de propagation d'ES6 :

var arr = [6, 4, 1, 8, 2, 11, 23];
console.log(Math.max(...arr))
Copier après la connexion

Deuxième méthode

Utilisez fonction récursive

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);
Copier après la connexion

Utiliser la boucle for pour parcourir

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);
Copier après la connexion

Utiliser apply pour passer le tableau dans la méthode max et le renvoyer directement

Math.max.apply(null,[9,8,55,66,49,68,109,55,33,6,2,1])
Copier après la connexion

De plus, il existe de nombreux tris de tableaux Quoi qu'il en soit, vous pouvez obtenir la valeur maximale/minimale en fonction de la nouvelle valeur d'index du tableau après le tri.

var a=[1,2,3,5];
console.log(Math.max.apply(null, a));//最大值
console.log(Math.min.apply(null, a));//最小值
Copier après la connexion

Les tableaux multidimensionnels peuvent être modifiés comme ceci :

var a=[1,2,3,[5,6],[1,4,8]];
var ta=a.join(",").split(",");//转化为一维数组
console.log(Math.max.apply(null,ta));//最大值
console.log(Math.min.apply(null,ta));//最小值
Copier après la connexion

[Recommandations associées : Tutoriel d'apprentissage javascript]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!