1 min de lectura · Publicado el

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