Kata Codewars, Devolver el cuadrado de cada dígito de un número

La Kata consiste en devolver el cuadrado de cada dígito de un número.

Por ejemplo, si le introducimos 9119 a la función, debería devolver 811181, porque:

9² –> 81

1² –> 1

Resultado ==> 81 1 1 81

**Nota: La función admite como parámetro enteros y devuelve enteros

 

Mi propuesta:

function squareDigits(num){
  let result = "";
  const lengthNumber = Math.ceil(Math.log10(num + 1));

  for(let i=0; i<lengthNumber; i++){
    squareNumber = Math.pow(num.toString()[i],2);
    result += squareNumber;
  }
  
  return parseInt(result);
}

 

Solución más votada:

function squareDigits(num){
  return Number(('' + num).split('').map(function (val) { return val * val;}).join(''));
}

 

https://www.codewars.com/kata/546e2562b03326a88e000020/train/javascript