C'est ce que j'ai essayé:
Math.min([1,2,3])
Mais obtenez seulement NaN
…
Utiliser apply
:
Math.min.apply(null,[1,2,3]); //=> 1
De devguru :
Function.apply(thisArg[, argArray])
la méthode apply vous permet d'appeler une fonction et de spécifier le mot-clé auquel il se référera dans le contexte de cette fonction. L'argument thisArg devrait être un objet. Dans le contexte de la fonction appelée, cela se référera à thisArg. Le deuxième argument de la méthode d'application est un tableau. Les éléments de ce tableau seront transmis comme arguments à la fonction appelée. Le paramètre argArray peut être soit un tableau literal, soit la propriété des arguments obsolètes d'une fonction.
Dans ce cas, le premier argument n'a aucune importance (donc: null), le second est, car le tableau est passé comme arguments vers Math.min
. Donc c'est le «tour» utilisé ici.
Math.min(1, 2, 3) 1
Comme, [1,2,3]
ne peut pas être converti en un nombre, il renvoie NaN
.
En savoir plus: Référence Mozilla
Utilisez ceci
Array.min = function( array ){ return Math.min.apply( Math, array ); };
Vérifiez ce lien – http://ejohn.org/blog/fast-javascript-maxmin/
Vous devez itérer à travers le tableau. AFAIK il n'y a pas de array_min
dans JS.
var i, min = arr[0]; for (i=1; i<arr.length; i++) min = Math.min(min, arr[i]);
Ne le passez pas un tableau (ce qui n'est pas un numéro ou NaN
dans ce cas), il suffit de passer les nombres comme arguments à la fonction. Comme ça:
Math.min(1, 2, 3)