В вашем коде есть две простые ошибки.
eachchar[0] = ...
содержит опечатку с большой буквы.Это должно быть eachChar[0] = ...
- Ваша последняя проверка использует один
=
вместо оператора сравнения, например ==
или ===
.Это должно быть if (num === turnBack)
, в противном случае вы устанавливаете значение num
, а не , сравнивая его.
Это, конечно, естьболее простые (или, по крайней мере, более краткие) способы написания этого.Ваша логика здорова, но вы можете немного ее очистить, объединив свои методы.Кроме того, вы перебираете массив для перестройки строки, но для этого есть встроенный метод: Array.join()
const checkHighestNumber = num => {
const highest = parseInt(num.toString().split('').sort().reverse().join(""));
return highest === num
? `Initial value is the highest value.`
: `The largest possible number from ${num} is ${highest}`;
}
console.log(checkHighestNumber(54321));
console.log(checkHighestNumber(12431));