JS制作没有console.log()的乘法表

时间:2018-03-13 02:34:04

标签: javascript

我想在函数中不使用console.log()来构建乘法表。我目前在分割价值方面遇到了困难。整个函数必须是纯JS。不适用于DOM。我想在终端上打印输出。

function multiplicationTable (maxValue){

 var array = []

 for (var i = 1; i <= maxValue; i++)
 {
  for (var j = 1; j <= maxValue; j++)
 {
   if (j >= 1 && i >= 1)
   {
     array.push(j*i)
   }
 }

}

var m = array.join()
return m;

}

console.log(multiplicationTable(3));

当前产出:1,2,3,2,4,6,3,6,9

必需输出:

1 2 3
2 4 6
3 6 9

我觉得我必须使用.split()或.splice()。我无法确定添加值的位置。

5 个答案:

答案 0 :(得分:1)

这是你的乘法表。它在浏览器开发控制台中受支持,但不作为此处的代码段。将其复制并粘贴到浏览器控制台中。

let a = 0;
let b = 0;
const len = 4;
let output = [];
for(a=0;a<len;a++){
  output.push([]);
  for(b=0;b<len;b++){
    output[a].push(`${a} x ${b} = ${a*b}`);
  }
}
console.table(output);

enter image description here

答案 1 :(得分:0)

我将构建并返回一个多维数组,而不是加入数组。然后,您可以使用forEach加入并在通话时记录。像,

function multiplicationTable(maxValue) {
  var array = []
  for (var i = 1; i <= maxValue; i++) {
    var t = []
    for (var j = 1; j <= maxValue; j++) {
      t.push(j * i)
    }
    array.push(t)
  }
  return array
}

multiplicationTable(3).forEach(x => console.log(x.join(" ")));

答案 2 :(得分:0)

返回一个对象,然后使用函数forEach构建所需的输出。

function multiplicationTable(maxValue) {
  var result = {}

  for (var i = 0; i < maxValue; i++) {
    for (var j = 0; j < maxValue; j++) {
      result[`${j + 1} ${i + 1}`] = (j + 1) * (i + 1);
    }
  }

  return result;
}

var maxValue = 3;
var arr = multiplicationTable(maxValue)
Object.keys(arr).forEach((k) => {
  console.log(k, arr[k]);
});
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 3 :(得分:0)

考虑为i的每个循环创建一个新数组,然后将它们存储在原始数组中。

for (var i = 0; i < maxValue; i++) {
  array[i] = [];
  for (var j = 0; j < maxValue; j++) {
    array[i].push((j+1)*(i+1))
  }
}

返回类型将是一个数组数组,您必须将其循环到控制台日志。

var multTable = multiplicationTable(3);
for (i = 0; i < multTable.length; i++) {
  console.log(multTable[i].join(" ");
}

答案 4 :(得分:0)

&#13;
&#13;
function multiplicationTable(maxValue) {
  var array = []
  for (var i = 1; i <= maxValue; i++) {
    var t = []
    for (var j = 1; j <= maxValue; j++) {
      t.push(j * i)
    }
    array.push(t)
  }
  return array
}

multiplicationTable(3).forEach(x => console.log(x.join(" ")));
&#13;
&#13;
&#13;