J'essaie de trouver le bon grade maximal d'une liste de numéros donnés.
Donc, lorsque j'utilise ce Veuillez vérifier le code et expliquez le problème. P> p> lightandlow ("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6") code> La fonction me donne
6 code> comme
Maxgrade code> mais il devrait être
542 code>.
function highAndLow(numbers) {
var num = numbers.split(" ");
var maxGrade = num.reduce((accum, currVal) => {
if (accum > currVal) return accum;
return currVal;
});
console.log(maxGrade);
console.log(num);
}
highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6")
4 Réponses :
Utilisez la fonction max:
p>
function highAndLow(numbers) { var num = numbers.split(" "); var maxGrade = num.reduce((accum, currVal) => Math.max(accum, currVal)); console.log(maxGrade); console.log(num); } highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6")
Vous devez convertir en nombre en premier.
var num = numbers.split(" ").map(x => Number(x));
Lorsque vous utilisez Vous pouvez utiliser la valeur de chaîne p> Split () code> Pour convertir la chaîne en une matrice, vous avez réellement un tableau
de chaînes code>
array.map (Numéro) code> pour convertir des chaînes en nombre p>
"6" code> est supérieur à la valeur de chaîne
"542" code> p>
function highAndLow(numbers) {
var num = numbers.split(" ").map(Number);
var maxGrade = num.reduce((accum, currVal) => {
if (accum > currVal) return accum;
return currVal;
});
console.log(maxGrade);
console.log(num);
}
highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6")
Vous pouvez diviser la chaîne et propager les valeurs pour obtenir une valeur maximale.
math.max code>
convertit les paramètres en chiffres. P>
p>
function highAndLow(numbers) { return Math.max(...numbers.split(" ")); } console.log(highAndLow("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"));
Vous comparez des chaînes. Convertissez-les en chiffres avant de réduire:
chiffres.split ("") .MAP (numéro) code>