@Rimidbit

Как написать функцию, которая расставляет числа по порядку от большего к меньшему?

Функцию реализовал при помощи метода filter, если вводная цифра состоит из разных цифр, например 5678321 отрабатывает отлично, но если в вводной хоть одна цифра повторяется, например 643841 или 222 функция возвращает NaN. Как нужно дополнить/изменить функцию, чтобы она всегда возвращала число состоящее из вводной

function descendingOrder(n){
  let numbers = Array.from(String(n), Number);
  let result = 0;
  let current = '';
  let currentNumbers = numbers;


  for (let i = 0; i < numbers.length; i++) {
    current += Math.max.apply(null, currentNumbers);
    currentNumbers = currentNumbers.filter(el => el !== Math.max.apply(null, currentNumbers));
    result = +current;
  }
  
  return result;
}
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
'643841'.split('').sort().reverse().join('');
// "864431"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kfedor
const descendingOrder = (n) => split('').sort().reverse().join('');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы