JS Поиск большей переменной

Мне в JS нужно автоматически найти большую переменную из 8 для процесора в игре, я сделал муторный код с усл, операторами для 3, и понял что это слишком большой и муторный код. Пример кода:

var a = 0;
var b = 0;
var c = 0;
while(true) {
 a = in(0); \\беру значение из игры
 b = in(1); \\беру значение из игры
 c = in(2);  \\беру значение из игры
 if (a > b) {
  if (a > c) {
   out (3, a); \\ Вывожу значение в игру
  } else if (c > b) {
   out (5, c); \\ Вывожу значение в игру
 } else if (b > a) {
  if (b > c) {
   out (4, b); \\ Вывожу значение в игру
  } else if (c > a) {
   out (5, c); \\ Вывожу значение в игру
  }
 } 
}

Вроде как этот код вполне рабочий, но для 8 переменных такой способ не подойдёт. Если вы знаете другой способ, жду ваших ответов.


Ответы (3 шт):

Автор решения: meine

var a = 4;
var b = 9;
var c = 2;

const array = [a, b, c];

console.log(Math.max.apply(null, array));

→ Ссылка
Автор решения: Vadim

Ну либо так, тут хэндлить проще, но на 3-5% slower (тестил в равных условиях)

let a = 4;
let b = 9;
let c = 2;

const arr = [a, b, c];

let biggest = 0;

for(let x of arr){
    if(x > biggest)biggest = x;
}

console.log(biggest);
→ Ссылка
Автор решения: Roman Onofreichuk

Если a b c - числа

const array = [a, b, c];

let x = Math.max.apply(null, array));
switch (x) {
  case a:
    out (3, a);
    break;
  case b:
    out (4, b);
    break;
  case c:
    out (5, c);
    break;
}

Если a b c - булевы выражения true\false

if((a > b && b >= c) || (a > c && c>= b)){
  out (3, a);}
else if((b > a && a >= c) || (b > c && c>= a)){
  out (4, b);}
else if((c > b && b >= a) || (c > a && a>= b)){
  out (5, c);}
→ Ссылка