/**
* 乘法表
* @param number n 开始
* @param number m 结束
*/
function table(n, m) {
if (n <= 0) {
throw 'n 不能小于等于0';
}
const res = [];
const maxLen = m - n + 1;
const recursionTable = (x) => {
if (x > m) {
return;
}
const xlen = (x - n + 1);
const len = xlen >= maxLen? maxLen: xlen;
const arr = Array.from({length: len}, (v, k) => k + n); // 结果 [1, 2, 3, 4] | [2, 3, 4]
const row = [];
arr.map((v, k) => row.push(`${v} * ${x} = ${v * x}`));
res.push(row);
recursionTable(x + 1);
}
recursionTable(n);
res.map((v) => {
console.log(v.join(' '))
})
}
table(6, 9)
结果:
6 * 6 = 36
6 * 7 = 42 7 * 7 = 49
6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81