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>