JSFiddle - React, Tailwind, and code Playground

by Artem

JavaScript

'use strict';

function triangleType(a, b, c) {
	const ANGLE_TYPES = {
  	ACUTE: 1,
    RIGHT: 2,
    OBTUSE: 3
  };
  const angleA = (Math.acos((Math.pow(b, 2) + Math.pow(c, 2) - Math.pow(a, 2)) / (2 * b * c))) * 180 / Math.PI;
  const angleB = (Math.acos((Math.pow(a, 2) + Math.pow(c, 2) - Math.pow(b, 2)) / (2 * a * c))) * 180 / Math.PI;
  const angleC = (Math.acos((Math.pow(a, 2) + Math.pow(b, 2) - Math.pow(c, 2)) / (2 * a * b))) * 180 / Math.PI;
  const angles = Array.of(angleA, angleB, angleC);
  let i = 0;
  console.log('a: ', angleA);
  console.log('b: ', angleB);
  console.log('c: ', angleC);
	
  for (let angle of angles) {
  	if (angle === 90) return ANGLE_TYPES.RIGHT;
    if (angle >= 180) return 0;
    if (angle > 90) return ANGLE_TYPES.OBTUSE;
    if (angle < 90) i++;
  }
  if (i === 3) {
  	return ANGLE_TYPES.ACUTE;
  }
  const sum = angles.reduce((prevAngle, nextAngle) => {
  	return prevAngle + nextAngle;
  });
  if (sum !== 180) return 0;
}

console.log(triangleType(3, 4, 5));