如何生成矩阵?

时间:2014-10-09 11:58:17

标签: jquery arrays matrix

我想从给定的表格中生成矩阵。

但我不知道生成一个正确存储矩阵的变量。

示例表:

<table>     
    <tr class="csv-row">
        <td class="field-sort">Ashton Cox</td>
        <td class="field-sort">ashtoncox@gmail.com</td>
        <td class="field-sort">01/06/1995</td>
        <td class="field-sort">Visitante</td>
        <td class="field-sort">01/10/2014</td>
        <td class="field-sort">10/01/2014</td>
    </tr>
    <tr class="csv-row">
        <td class="field-sort">Bruno Nash</td>
        <td class="field-sort">brunonash@hotmail.com.br</td>
        <td class="field-sort">10/06/1988</td>
        <td class="field-sort">Atacado</td>
        <td class="field-sort">01/10/2014</td>
        <td class="field-sort">10/01/2014</td>
    </tr>
</table>

我的循环:

jQuery('tr.csv-row').each(function() {
    jQuery(this).find('td.field-sort').each(function() {

    });
});

我想要一个变量,它返回一个像这样的矩阵:

Array[0]
(
    [0] => Ashton Cox
    [1] => ashtoncox@gmail.com
    [2] => 01/06/1995
    [3] => Visitante
    [4] => 01/10/2014
    [5] => 10/01/2014
),
Array[1]
(
    [0] => Bruno Nash
    [1] => brunonash@hotmail.com.br
    [2] => 10/06/1988
    [3] => Atacado
    [4] => 01/10/2014
    [5] => 10/01/2014
)

我的示例无效:

var jsonArr = [];
jQuery('tr.csv-row').each(function() {          
    jQuery(this).find('td.field-sort').each(function() {
        jsonArr.push({                  
            name: jQuery(this).text(),
            email: jQuery(this).text(),
            group: jQuery(this).text(),
            born: jQuery(this).text(),
            purchase: jQuery(this).text(),
            created: jQuery(this).text()
        });
    });
});

2 个答案:

答案 0 :(得分:1)

检查此代码。

var jsonArr = [];
var jsonInnerArr = [];
    jQuery('tr.csv-row').each(function() {          
        jQuery(this).find('td.field-sort').each(function() {
            jsonInnerArr.push(jQuery(this).text());
        });
      jsonArr.push(jsonInnerArr);
      jsonInnerArr = [];
      
    });

console.log(jsonArr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>     
        <tr class="csv-row">
            <td class="field-sort">Ashton Cox</td>
            <td class="field-sort">ashtoncox@gmail.com</td>
            <td class="field-sort">01/06/1995</td>
            <td class="field-sort">Visitante</td>
            <td class="field-sort">01/10/2014</td>
            <td class="field-sort">10/01/2014</td>
        </tr>
        <tr class="csv-row">
            <td class="field-sort">Bruno Nash</td>
            <td class="field-sort">brunonash@hotmail.com.br</td>
            <td class="field-sort">10/06/1988</td>
            <td class="field-sort">Atacado</td>
            <td class="field-sort">01/10/2014</td>
            <td class="field-sort">10/01/2014</td>
        </tr>
    </table>

答案 1 :(得分:0)

如果您想要“二维”数组,可以将代码修改为:

Fiddle

var jsonArr = [];
jQuery('tr.csv-row').each(function(index)
{
    jsonArr[index] = [];
    jQuery(this).find('td.field-sort').each(function()
    {
        jsonArr[index].push(jQuery(this).text());
    });
});
console.log(jsonArr);