在实习的前几天,老师给我安排了一个这样的任务,一句话写99乘法表。
身为小白的我,这个真的把我给难倒。经过一天等待,老师给我了点提示。
解题思路
99乘法表,本质上都是通过循环,遍历出来的。设想有没有一种可以通过连式调用来完成两次for循环,那么这可以通过一行代码遍历两层循环了。让我第一想到的就是map,map循环后可以返回一个新数组。这样就可以链式调用了。
const str2 = Array(9).fill(null).map((_, row) => Array(9 - row).fill(null).map((_, col) => `${row + 1}*${col + row + 1}=${(row + 1) * (row + col + 1)}`).join(' ')).join('\n')
虽然这么写寓意没有双重for循环来的好看,但是能加深你对数组基础的掌握。