Функция squareDigits

Функция 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


Report Page