JavaScript > テーブルを2次元配列へ変換

1次元の配列データを2次元配列へ格納。

by s_hiroshi

HTML

<link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css">
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>

<table>
    <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
    </tr>
    <tr>
        <td>d</td>
        <td>e</td>
        <td>f</td>
    </tr>
        <tr>
        <td>g</td>
        <td>h</td>
        <td>i</td>
    </tr>
</table>

CSS

td {
    padding: 3px 5px;
    border: 1px solid #999;
}

table {
    margin: 20px;
}

JavaScript

test('tableを2次元配列へ変換', function() {
    console.log(tableToMatrix());
    ok(tableToMatrix() instanceof Array === true, '配列');
});


// 2次元を一次元へ

function tableToMatrix() {
    var data = [];
    $('tr').each(function(i) {
        data[i] = [];
        $('td', $(this)).each(function(j) {
            data[i][j] = $(this).text();
        });
    });
    return data;
}