如何让输出显示在一行中没有空格?

Mat*_*iny 2 javascript math

我有一个简单的Javascript问题,我正在研究,重点是......

  1. 输入一下,比如123
  2. 将输入分成单个数字,然后将这些单个数字平方,从而得到149.
  3. 显示"149"(在本例中)作为输出.

我不知道如何将其显示为149.我只能将其显示为

1

4

9

当然,我可能会尝试将其添加到数组然后循环结果......有些东西告诉我这是一个缓慢的解决方案,并且有一个更快的解决方案.这是我的代码.

function squareDigits(num) {
    //Convert input to string
    num = num + "";
    var newnum;
    var len = num.length;

    //Split into digits, and square that result baby
    for (i = 0; i < len; i++) {
        var digit = num.substr(i, 1);
        newnum = Math.pow(digit, 2);
        console.log(newnum);
    }

}

squareDigits(123);
Run Code Online (Sandbox Code Playgroud)

Tus*_*har 5

  1. 在循环外创建空数组
  2. 添加数组中每个数字的方块
  3. 循环结束后加入数组

function squareDigits(num) {
  num = '' + num;
  var len = num.length;

  var squares = []; // Define empty array
  //Split into digits, and square that result baby
  for (i = 0; i < len; i++) {
    var digit = num.substr(i, 1);
    squares.push(Math.pow(digit, 2)); // Push the square of the digit at the end of array
  }

  return squares.join(''); // Join the array elements with empty string as glue
}

var squares = squareDigits(123);
console.log(squares);
document.write(squares);
Run Code Online (Sandbox Code Playgroud)


通过字符串连接

  1. 在for循环之前声明一个空字符串
  2. 通过首先将数字转换为字符串,将数字的平方连接到字符串

function squareDigits(num) {
  //Convert input to string
  num = num + "";
  var newnum = ''; // Decalare variable with Empty string
  var len = num.length;

  //Split into digits, and square that result baby
  for (i = 0; i < len; i++) {
    var digit = num.substr(i, 1);
    newnum += '' + Math.pow(digit, 2); // Cast the square to string and then concatenate to the string
  }

  return newnum; // Return the string
}

var squares = squareDigits(123);
document.write(squares);
Run Code Online (Sandbox Code Playgroud)