Вопрос
Нарцисс c Число - это число, которое представляет собой сумму собственных цифр, каждая из которых возведена в степень числа цифр в заданном основании. В этом Ката мы ограничимся десятичным числом (основание 10).
Например, возьмите 153 (3 цифры):
1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
и 1634 (4 цифры):
1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634
Задача:
Ваш код должен возвращать истину или ложь в зависимости от того, является ли данное число числом Нарциссов c в базе 10.
Проверка на ошибки текстовых строк или другие недопустимые входные данные не требуются, в функцию будут переданы только действительные целые числа.
Мой код
function narcissistic(value) {
let valString = value.toString().split('');
let integerSet = valString.map((item)=>{
return Number(item);
})
let keyFunc = function powerCalc(test){
let a = test[test.length-1];
return test.map((item)=>{
return Math.pow(item, a);
}).reduce((total, item)=>{
return total + item;
}, 0);
}
console.log(keyFunc(153));
if(keyFunc(integerSet)==value){
return true;
}
else {
return false;
}
}
console.log(narcissistic(12432));
console.log(narcissistic(153));
Проблема
Моя консоль говорит, что test.map не является функцией.
Как можно Я настраиваю эту функцию, чтобы она работала?