これは古い質問であることは承知していますが、私のようにウェブを熟読している人には、別の解決策があります。
カンマで使用replace()
し、一連の文字を作成して、行の終わりを決定します。--
内部配列の最後に追加するだけです。そうすれば、関数を実行する必要はありませんfor
。
ここに JSFiddle があります: https://jsfiddle.net/0rpb22pt/2/
まず、HTML 内でテーブルを取得し、ID を指定する必要があります。
<table id="thisTable"><tr><td>Click me</td></tr></table>
このメソッド用に編集された配列は次のとおりです。
thisArray=[["row 1, cell 1__", "row 2, cell 2--"], ["row 2, cell 1__", "row 2, cell 2"]];
--
各配列の末尾に が追加されていることに注意してください。
配列内にもコンマがあるため、テーブルを台無しにしないように、何らかの方法でそれらを区別する必要があります。__
セルの後に追加すると (行の最後のセル以外に) 機能します。ただし、セルにコンマがない場合、この手順は必要ありません。
これがあなたの関数です:
function tryit(){
document
.getElementById("thisTable")
.innerHTML="<tr><td>"+String(thisArray)
.replace(/--,/g,"</td></tr><tr><td>")
.replace(/__,/g,"</td><td>");
}
それはこのように動作します:
- テーブルに電話して、 の設定に取り掛かります
innerHTML
。document.getElementById("thisTable").innerHTML
- 行とデータを開始する HTML タグを追加することから始めます。
"<tr><td>"
- として追加
thisArray
しString()
ます。+String(thisArray)
--
新しい行の前で終わるeveryを、データと行の開始と終了に置き換えます。.replace(/--,/g,"</td></tr><tr><td>")
- その他のコンマは、行内の個別のデータを示します。したがって、すべてのカンマをデータの開始と終了に置き換えます。この場合、セルにコンマがあるため、すべての
__
コンマが行間にあるわけではないため、 :でそれらを区別する必要がありまし.replace(/__,/g,"</td><td>")
た。通常は.replace(/,/g,"</td><td>")
.
迷子の文字を配列に追加することを気にしない限り、必要なコードが大幅に減り、実装が簡単になります。