在JavaScript中,九九乘法矩陣是常見(jiàn)的練手題,也是考驗(yàn)編程能力的常見(jiàn)題目。九九乘法表矩陣是指將1~9的數(shù)字分布在九宮格中,形成一個(gè)九宮格矩陣,然后依次計(jì)算1~9乘以1~9的結(jié)果,填充矩陣中的每個(gè)格子。
function multiplicationTable() {
let result = '';
for(let i = 1; i < 10; i++) {
for(let j = 1; j <= i; j++) {
result +=${j} x ${i} = ${i*j}\t
;
}
result += '\n';
}
return result;
}
上面這段代碼實(shí)現(xiàn)了一個(gè)生成九九乘法表矩陣的函數(shù),采用嵌套for循環(huán)的方式,依次計(jì)算1~9乘以1~9的結(jié)果,并填充到矩陣中。具體來(lái)說(shuō),外層循環(huán)的變量i控制逐漸增加的行數(shù),內(nèi)層循環(huán)的變量j則控制當(dāng)前行的列數(shù),根據(jù)公式計(jì)算出對(duì)應(yīng)的結(jié)果。函數(shù)返回的是一個(gè)字符串形式的九九乘法矩陣,可以隨時(shí)輸出。
更進(jìn)一步,我們可以利用DOM和CSS將這個(gè)九九乘法表矩陣美化展示出來(lái)。首先,在HTML中創(chuàng)建一個(gè)容器元素,然后使用JavaScript從容器元素中獲取到對(duì)應(yīng)的節(jié)點(diǎn)。
<div id="multiplicationTable"></div>
const container = document.getElementById('multiplicationTable');
接下來(lái),使用CSS對(duì)容器進(jìn)行樣式設(shè)置,比如設(shè)置寬度、高度、邊框樣式等。然后,在JavaScript中利用之前編寫的九九乘法表矩陣函數(shù)生成一個(gè)字符串形式的矩陣,將其添加到容器節(jié)點(diǎn)的innerHTML屬性中。
.container { width: 500px; height: 500px; border: 1px solid #000; display: flex; flex-wrap: wrap; font-size: 20px; } .grid { width: 33.3%; height: 33.3%; display: flex; justify-content: center; align-items: center; border: 1px solid #000; }
const container = document.getElementById('multiplicationTable'); container.innerHTML = multiplicationTable(); container.classList.add('container'); const cells = container.querySelectorAll('pre'); for(let i = 0; i < cells.length; i++) { cells[i].classList.add('grid'); }
最終效果如下圖所示:
![九九乘法表矩陣](https://i.loli.net/2021/03/29/YESACI9GxK2pL5h.jpg)在實(shí)際開(kāi)發(fā)中,九九乘法表矩陣不僅可用于練習(xí)編程基礎(chǔ),也可以用作展示圖表、數(shù)據(jù)可視化等場(chǎng)合。因此,通過(guò)學(xué)習(xí)和掌握J(rèn)avaScript中九九乘法矩陣的生成方法,并結(jié)合DOM和CSS進(jìn)行優(yōu)化,可以為我們開(kāi)發(fā)可視化應(yīng)用提供幫助。