Как оптимизировать код для сравнения одного числа с четырьмя другими?

Рейтинг: 1Ответов: 3Опубликовано: 13.08.2023

Ребят, подскажите, как можно сделать так, чтобы проверить, что переменная numberOne одновременно больше всех остальных чисел? (Помимо варианта, где мы с помощью оператора И сравниваем его с каждой из переменных)

 if (numberOne > (numberTwo && numberThree && numberFour && numberFive)) { return `${numberOne} is the greatest number of all` }

Ответы

▲ 4Принят

Можно просто сравнить первое число с максимальным из других a1 > Math.max(a2, a3, a4)

const a1 = 200, a2 = 4, a3 = 8, a4 = 155;
console.info(`${a1} is ${(a1 > Math.max(a2, a3, a4)) ? '' : ' not '}the greatest number of all `)

▲ 3
const numberTwo = 4;
const numberThree = 5;

const numberOne = 10;

if([numberTwo, numberThree].some((num) => {
  return num > numberOne;
})) {
  console.log(`${numberOne} is not the biggest number`)
} else {
  console.log(`${numberOne} is the greatest number of all`)


Если хотя бы одно из чисел больше, то вернется true и выведется ${numberOne} is not the biggest number

▲ 1

Могу предложить такой вариант поиска наибольшей переменной. Объект для возможной необходимой консистентности.

let numberOne = 5;
let numberTwo = 3;
let numberThree = 7;
let numberFour = 2;
let numberFive = 1;

let numbers = {
  numberOne,
  numberTwo,
  numberThree,
  numberFour,
  numberFive,
};

let greatestNumber = null;

for (let key in numbers) {
  if (greatestNumber === null || numbers[key] > greatestNumber) {
    greatestNumber = numbers[key];
  }
}

console.log(`${greatestNumber} is the greatest number of all.`);

Дополненить сравнение можно так:

greatestNumber === numbers.numberOne ? console.log(numbers.numberOne, ' is greatest') : console.log(numbers.numberOne, ' is not greatest')