(side1, side2, side3)
| 82 | * @example areaTriangleWithAllThreeSides(5, 6, 7) = 14.7 |
| 83 | */ |
| 84 | const areaTriangleWithAllThreeSides = (side1, side2, side3) => { |
| 85 | validateNumericParam(side1, 'side1') |
| 86 | validateNumericParam(side2, 'side2') |
| 87 | validateNumericParam(side3, 'side3') |
| 88 | if ( |
| 89 | side1 + side2 <= side3 || |
| 90 | side1 + side3 <= side2 || |
| 91 | side2 + side3 <= side1 |
| 92 | ) { |
| 93 | throw new TypeError('Invalid Triangle sides.') |
| 94 | } |
| 95 | // Finding Semi perimeter of the triangle using formula |
| 96 | const semi = (side1 + side2 + side3) / 2 |
| 97 | |
| 98 | // Calculating the area of the triangle |
| 99 | const area = Math.sqrt( |
| 100 | semi * (semi - side1) * (semi - side2) * (semi - side3) |
| 101 | ) |
| 102 | return Number(area.toFixed(2)) |
| 103 | } |
| 104 | |
| 105 | /** |
| 106 | * @function areaParallelogram |
nothing calls this directly
no test coverage detected