Число Армстронга (также известное как нарциссическое число) – это число, равное сумме его собственных цифр, каждая из которых возведена в степень количества цифр в самом числе.

Например, 153 — это число Армстронга, поскольку оно состоит из трех цифр, а 1³ + 5³ + 3³ = 153.

Начнем с определения нашей функции:

Первое, что мы делаем; будет преобразовывать число в строку и разбивать его на массив цифр. (например: если это 153, это будет [1,5,3] )

function isArmstrongNumber(number) {
  
  const digits = number.toString().split("");
}

Теперь мы можем получить количество цифр.

const n = digits.length;

Затем мы вычислим сумму n-й степени каждой цифры.

const sum = digits.reduce((acc, digit) => {
    return acc + Math.pow(parseInt(digit), n);
  }, 0);

Мы используем метод reduce(), чтобы применить функцию к каждому элементу массива, чтобы уменьшить массив до одного значения.

Метод reduce()вызывается для массива цифр с начальным значением 0.

Функция обратного вызова принимает два аргумента: acc и цифру. В каждой итерации функция обратного вызова добавляет цифру к счету (аккумулятору) и возвращает новое значение аккумулятора. Конечным результатом является сумма всех чисел в массиве.

Для этого мы сначала преобразуем строку в целое число с помощью метода parseInt() и с помощью Math.pow(parseInt(digit), n )мы вычисляем энную степень цифры.

И последнее, нам нужно проверить, равна ли сумма исходному числу.

Если мы соберем все вместе, код будет выглядеть следующим образом: