【JavaScript-二維數組】用JavaScript將表格里的元素添加到二維數組


首先,要知道如何創建二維數組。

http://blog.csdn.net/wangyuchun_799/article/details/38460515

這里引入一種最簡單的。

<script type="text/javascript">
    var arr = new Array();                   //創建一個一維數組
    for (var i = 0; i < 2; i++) {            
        arr[i] = new Array();
        for (var j = 0; j < 3; j++) {        //將每一個子元素有定義為數組    
            arr[i][j] = "";                 //此時的array1[i][j]可以視為二維數組,並初始化二位數組為空字符串
        }
    }

    arr[0][0]=1;                      //給arr賦值
    arr[0][1]=2;
    arr[0][2]=3;
    arr[1][0]=11;
    arr[1][1]=22;
    arr[1][2]=33;

    document.write(arr);                   //1,2,3,11,22,33

</script>

二維數組主要用來干什么呢?博主現在要用到的是將HTML中表格的值添加到二維數組中,以便后續對表格進行單元格合並啊之類的操作(用二維數組進行此類操作更利於后續的代碼維護)

好的,那么接下來讓我們看看怎么用JavaScript實現將表格里的元素添加到二維數組中吧~

<script>
var tr = document.getElementsByTagName('tr');                    //獲取HTML中表格的tr
var td = document.getElementsByTagName('td');                    //獲取HTML中表格的td

var arr2 = new Array()                                           //定義二維數組arr2

for (var i = 0; i < tr.length-1; i++) {                          //因為忽略了表頭th,所以少了一組tr,故i<tr.length-1
    arr2[i] = new Array();
    for (var j = 0; j < td.length/(tr.length-1); j++) {          //每一組tr中有的td個數:td.length/(tr.length-1)
        arr2[i][j] = "";                                         //初始化二位數組為空字符串
    }    
}

for (var x = 0; x < tr.length-1; x++) {                            
    for (var y = 0; y < td.length/(tr.length-1); y++) {            
        arr2[x][y] = td[x*(td.length/(tr.length-1))+y].innerText;     //td[?].innerText獲取第?個td中的值,?= x*(td.length/(tr.length-1))+y
    }    
}
</script>

現附上HTML部分代碼

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
    <title>二維數組的建立</title>
</head>
<body>
<h3>用JS將表格數據寫入二維數組</h3>
<div class="table">
    <table id="tb" width="400px" border="1" cellspacing="3" cellpadding="3">
    <caption style="margin-bottom: 15px">table</caption>
        <tr>
            <th>year</th>        
            <th>city</th>
            <th>name</th>
            <th>age</th>
            <th>score</th>
            <th>expense</th>
        </tr>
        <tr>
            <td>2015</td>
            <td>北京</td>
            <td>花花</td>            
            <td>18</td>
            <td>600</td>
            <td>12222</td>
        </tr>
        <tr>
            <td>2015</td>
            <td>北京</td>
            <td>明明</td>
            <td>19</td>
            <td>620</td>
            <td>15000</td>
        </tr>
        <tr>
            <td>2015</td>
            <td>上海</td>
            <td>麗麗</td>
            <td>16</td>
            <td>630</td>
            <td>11000</td>
        </tr>    
        <tr>
            <td>2016</td>
            <td>北京</td>
            <td>凱凱</td>
            <td>20</td>
            <td>660</td>
            <td>13000</td>
        </tr>
        <tr>
            <td>2016</td>
            <td>重慶</td>
            <td>琪琪</td>
            <td>19</td>
            <td>655</td>
            <td>10000</td>
        </tr>
        <tr>
            <td>2016</td>
            <td>成都</td>
            <td>菲菲</td>
            <td>20</td>
            <td>570</td>
            <td>19000</td>
        </tr>
        <tr>
            <td>2016</td>
            <td>成都</td>
            <td>妮妮</td>
            <td>17</td>
            <td>609</td>
            <td>16000</td>
        </tr>
        <tr>
            <td>2016</td>
            <td>河南</td>
            <td>娃娃</td>
            <td>18</td>
            <td>580</td>
            <td>13000</td>
        </tr>
        <tr>
            <td>2016</td>
            <td>上海</td>
            <td>tiantian</td>
            <td>18</td>
            <td>590</td>
            <td>16000</td>
        </tr>                    
    </table>
</div>
</body>
</html>

效果如圖所示

比如我調用alert(arr[0][0])即可得到2015.

此時,表格已經傳到二維數組中了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM