2 votes

Trouver l'aire d'un triangle ? "Indéfini" si num < 0

L'objectif est de trouver l'aire d'un triangle. Et si la base ou la hauteur sont < 0, il doit retourner "indéfini".

function calculateTriangleArea(base, height) {
  return base && height > 0 ? (base*height)/2 : "undefined"
}

console.log(calculateTriangleArea(2, 4)); // -> 4
console.log(calculateTriangleArea(-1, 3)); // -> -1.5

Je veux utiliser l'opérateur ternaire pour cela.

Pourquoi console.log(calculateTriangleArea(-1, 3)) n'imprime-t-il pas "undefined" ?

Merci pour votre aide, très appréciée.

EDIT :

Merci, je vois que ça corrige le problème :

return base > 0 && height > 0 ?

Mais pourquoi dois-je faire cela avec ce triangle et pourquoi pourrais-je regrouper numOne et numTwo dans une fonction permettant de trouver l'aire d'un rectangle ?

function calculateRectangleArea(numOne, numTwo) {
  return numOne && numTwo > 0 ? numOne * numTwo : "undefined"
};

3voto

Senal Points 1226

Vous devez vérifier si la valeur est supérieure à 0 pour base également

function calculateTriangleArea(base, height) {
  return base > 0 && height > 0 ? (base*height)/2 : "undefined"
}

function calculateRectangleArea(numOne, numTwo) {
  return numOne > 0 && numTwo > 0 ? numOne * numTwo : "undefined"
};

console.log(calculateTriangleArea(2, 4)); // -> 4
console.log(calculateTriangleArea(-1, 3)); // -> 'Undefined'

console.log(calculateRectangleArea(2, 4)); // -> 4
console.log(calculateRectangleArea(-1, 3)); // -> 'Undefined'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X