Функция squareDigits
Ответ:
- 1 решение (краткое)
const squareDigits2 = (num) => {
return +num
.toString()
.split("")
.map((n) => (+n) ** 2)
.join("");
};
- 2 решение (развёрнутое)
const squareDigits = (num) => {
let result = "";
for (const n of num.toString()) {
result += Number(n) ** 2;
}
return Number(result);
};
Объяснение:
В каждом из решений нужно перевести число в строку и перебрать все символы. В кратком решении нужно ещё и разбить строку на массив, чтобы использовать метод map. На каждой итерации нужно обратно переводить каждый символ в число, возводить в квадрат и прибавлять к аккумулирующему значению. Ну и последним этапом нужно перевести получившуюся строку обратно в число и вернуть.
Код для проверки:
const squareDigits = (num) => {
let result = "";
for (const n of num.toString()) {
result += Number(n) ** 2;
}
return Number(result);
};
const squareDigits2 = (num) => {
return +num
.toString()
.split("")
.map((n) => (+n) ** 2)
.join("");
};
console.log(squareDigits(91)); // 811
console.log(squareDigits(0)); // 0
console.log(squareDigits(867)); // 643649
console.log(squareDigits2(91)); // 811
console.log(squareDigits2(0)); // 0
console.log(squareDigits2(867)); // 643649