寻找三角形的面积?如果num <0,则为“未定义”

时间:2018-08-08 01:30:01

标签: javascript ternary-operator

目标是找到三角形的面积。如果基数或高度小于0,则应返回“ undefined”。

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

我想使用三元运算符执行此操作。

为什么console.log(calculateTriangleArea(-1,3))不会显示“未定义”?

非常感谢您的帮助。

编辑:

谢谢,我看到可以解决此问题:

return base > 0 && height > 0 ?

但是为什么我必须对这个三角形做这个,为什么我可以将numOne和numTwo一起放在一个函数中以查找矩形区域:

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

1 个答案:

答案 0 :(得分:3)

还必须为base检查大于0的值

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'