Задать вопрос
@Evgeii

Как написать функцию с выводом наименьшей цифры?

Помогите написать функцию которая вернет из какого то числа(целого или дробного) наименьшую его цифру. например min(7554245) вернет 2.
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
Stalker_RED
@Stalker_RED
Проще для написания - преобразовать в строку, разбить по символам, найти минимальный при помощи Math.min, преобразовать в число.
const min = s => +Math.min(...s.toString().split(''))



А по производительности было бы выгоднее делить на 10 в цикле, и остаток от деления сравнивать с предыдущим результатом.
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
Преобразовать число в строку, убрать всё, что не цифра (знак, если число отрицательное; точка, если число не целое) или достать только цифры, найти минимум (Math.min или перебираем вручную и сравниваем):

const minDigit = num =>
  Number.isFinite(num)
    ? Math.min(...`${num}`.replace(/\D/g, ''))
    : null;

// или

const minDigit = num =>
  (String(num).match(/\d/g) || []).reduce((min, n) => {
    return min === null || n < min ? +n : min;
  }, null);

minDigit(1)                // 1
minDigit(759486394)        // 3
minDigit(-56.209)          // 0
minDigit(Infinity)         // null
minDigit(NaN)              // null
minDigit('hello, world!!') // null
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы