簡體   English   中英

表中的Javascript乘數-基本

[英]Javascript multiplier in table - Basic

我是JavaScript新手。 我想在JavaScript中使用提示符()乘以得到數字n,這是我們的乘數,我想將所有數字從1乘以n乘以n。 例:

如果n = 4

為了獲得紅利,請消除所有相同的產品,因此我們認為2 * 3 = 3 * 2,它看起來應該像這樣:

因此,到目前為止我的代碼:

// JavaScript Document

function TableOn() { document.write('<table border="1">'); }
function TableOff() { document.write('</table>') }
function TrOn() { document.write('<tr>'); }
function TrOff() { document.write('</tr>'); }
function TdOn() { document.write('<td>'); }
function TdOff() { document.write('</td>'); }
function Izvrsi() {
    var n;
    n = prompt('Insert the multiplayer (n)');
    script0 = TableOn();
    for (var i = 0; i <= n; i++) {
        script1 = TrOn();
        /*for(var j=0;j<=n;j++)
            {
                script2 = TdOn();
                document.write(j * n + ' ');
                script6 = TdOff();
            }*/
        script2 = TdOn();
        document.write(i + ' ');
        script3 = TdOff();
        script4 = TrOff();
    }
    for (var j = 0; j <= n; j++) {
        script11 = TrOn();
        script2 = TdOn();
        document.write(j * n + ' ');
        script6 = TdOff();
        script12 = TrOff();
    }
    script5 = TableOff();
}

我可能做的不對,你們可以幫我嗎?

首先,您可以調用函數而無需將結果分配給任何東西。 由於您沒有對script0到script12進行任何操作,因此最好將它們完全排除在外。 讓我們修復縮進時的問題。

function Izvrsi()
{
    var n;
    n=prompt('Insert the multiplayer (n)');
    TableOn();
    for(var i=0;i<=n;i++)
    {
        TrOn();
        /*for(var j=0;j<=n;j++)
        {
            TdOn();
            document.write(j * n + ' ');
            TdOff();
        }*/
        TdOn();
        document.write(i + ' ');
        TdOff();
        TrOff();
    }
    for(var j=0;j<=n;j++)
    {
        TrOn();
        TdOn();
        document.write(j * n + ' ');
        TdOff();
        TrOff();
    }
    TableOff();
}

在此處輸入圖片說明

運行此命令,該表只有一列寬。 這是有道理的,因為您在每個tr內只寫了一個td 如果取消注釋該中間部分,則將獲得所需的正方形。

function Izvrsi()
{
    var n;
    n=prompt('Insert the multiplayer (n)');
    TableOn();
    for(var i=0;i<=n;i++)
    {
        TrOn();
        for(var j=0;j<=n;j++)
        {
            TdOn();
            document.write(j * n + ' ');
            TdOff();
        }
        TdOn();
        document.write(i + ' ');
        TdOff();
        TrOff();
    }
    for(var j=0;j<=n;j++)
    {
        TrOn();
        TdOn();
        document.write(j * n + ' ');
        TdOff();
        TrOff();
    }

    TableOff();
}

在此處輸入圖片說明

數字看起來不正確,因為您正在寫j * n ,即當前列的索引乘以最大乘數。 相反,寫j * i ,即當前列乘以當前行。 在此過程中,讓我們刪除第二個for塊,因為它僅在末尾添加了一列垃圾。

function Izvrsi()
{
    var n;
    n=prompt('Insert the multiplayer (n)');
    TableOn();
    for(var i=0;i<=n;i++)
    {
        TrOn();
        for(var j=0;j<=n;j++)
        {
            TdOn();
            document.write(j * i + ' ');
            TdOff();
        }
        TdOn();
        document.write(i + ' ');
        TdOff();
        TrOff();
    }

    TableOff();
}

在此處輸入圖片說明

看起來不錯,除了表從0而不是1開始,並且行號顯示在右側而不是左側。 移動document.write(i + ' '); 到for循環的前面,並將您的初始i和j值更改為1。

function Izvrsi()
{
    var n;
    n=prompt('Insert the multiplayer (n)');
    TableOn();
    for(var i=1;i<=n;i++)
    {
        TrOn();
        TdOn();
        document.write(i + ' ');
        TdOff();
        for(var j=1;j<=n;j++)
        {
            TdOn();
            document.write(j * i + ' ');
            TdOff();
        }
        TrOff();
    }

    TableOff();
}

在此處輸入圖片說明

您將需要一個單獨的循環來創建列號。 非常簡單-只需寫一個空白,數字從1到n。

function Izvrsi()
{
    var n;
    n=prompt('Insert the multiplayer (n)');
    TableOn();

    //create column numbers
    TrOn();
    TdOn(); document.write(' '); TdOff();
    for(var i=1;i<=n;i++){
        TdOn(); document.write(i + ' '); TdOff();
    }
    TrOff();

    for(var i=1;i<=n;i++)
    {
        TrOn();
        TdOn();
        document.write(i + ' ');
        TdOff();
        for(var j=1;j<=n;j++)
        {
            TdOn();
            document.write(j * i + ' ');
            TdOff();
        }
        TrOff();
    }

    TableOff();
}

在此處輸入圖片說明

最后,您可以通過在for(var j...循環中執行檢查來消除重復的乘積。如果i小於j,則不必費心編寫任何東西。

function Izvrsi()
{
    var n;
    n=prompt('Insert the multiplayer (n)');
    TableOn();

    //create column numbers
    TrOn();
    TdOn(); document.write(' '); TdOff();
    for(var i=1;i<=n;i++){
        TdOn(); document.write(i + ' '); TdOff();
    }
    TrOff();

    for(var i=1;i<=n;i++)
    {
        TrOn();
        TdOn();
        document.write(i + ' ');
        TdOff();
        for(var j=1;j<=n;j++)
        {
            TdOn();
            if (i < j){
                document.write(' ');
            }
            else{
                document.write(j * i + ' ');
            }
            TdOff();
        }
        TrOff();
    }

    TableOff();
}

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM