2 ответа

Лучший ответ

Вот ответ

function squareDigits(num){
  return Number(String(num).split('').map((c)=>c*c).join(''))
}
1
ubaidh 23 Ноя 2020 в 11:26

Как отметил @Andreas в комментариях, вам необходимо применить Array.join к результату Array.map, а не Math.pow, который не возвращает массив. Используя стрелочные функции ES6, вы можете написать это в одну строку:

const squareDigits = (num) =>
  Array
  .from(String(num))
  .map((digit) => Math.pow(digit, 2))
  .join('');

console.log(squareDigits(9119));
console.log(squareDigits(573));
2
Nick 23 Ноя 2020 в 11:31
64967179