Maison >interface Web >js tutoriel >Comment trouver la valeur maximale en JavaScript
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.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Math.max
JavaScript fournit la fonction Math.max pour renvoyer un ensemble de nombres Maximum valeur, l'utilisation est :
Math.max([value1[,value2, ...]])
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
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);
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);
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));
apply
Utiliser apply est une autre façon.
var arr = [6, 4, 1, 8, 2, 11, 23]; console.log(Math.max.apply(null, arr))
ES6 …
Utilisez l'opérateur de propagation d'ES6 :
var arr = [6, 4, 1, 8, 2, 11, 23]; console.log(Math.max(...arr))
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);
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);
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])
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));//最小值
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));//最小值
[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!