Javascript wikipedia表解析,循环问题

Javascript wikipedia表解析,循环问题,javascript,jquery,parsing,for-loop,Javascript,Jquery,Parsing,For Loop,因此,我试图创建一个充满“卡片”对象的“甲板”数组。 “卡”的物体需要前面和后面的心房 .front需要包含每行的单元格,即第一列。 .back需要包含每行的其余信息 “tr”=行 ‘tr td’=单元 rowArray = [] deck = [] $('tbody').click(function(){ var rows = $(this).find('tr'); var cells = $(this).find('tr td'); for (w = 0; w<

因此,我试图创建一个充满“卡片”对象的“甲板”数组。 “卡”的物体需要前面和后面的心房

.front需要包含每行的单元格,即第一列。 .back需要包含每行的其余信息

“tr”=行

‘tr td’=单元

rowArray = []
deck = []
$('tbody').click(function(){
    var rows = $(this).find('tr');
    var cells  = $(this).find('tr td');
    for (w = 0; w<cells.length; w++){
        if (cells[w].innerText === undefined){
        }
        else{
            rowArray.push(cells[w].innerText)
        }
        };
    for (var i =0; i < rows.length; i++){
        var card = {}
        var info =$(row[i]).find('td')
        var cardFront = info[0]
        card.front = $(cardFront).text()  
        for (var x=0; x< cells.length; x ++ ){
        if (cells[x].innerText === undefined){ // takes out all undefined cells
            }
        else{
            if (x % ((rows.length) / cells.length) !== 0){ // filters out the first column, so no repeat information
                card.back = cells[x].innerText; 
            }
            else{
            }
        }
     };
    deck.push(card);
    };
});
rowArray=[]
甲板=[]
$('tbody')。单击(函数(){
var rows=$(this.find('tr');
var cells=$(this.find('tr td');

对于(w=0;w您在每一行上创建一张新卡片,在单元格上迭代并将卡片设置回单元格的值。当然,您的卡片始终具有最后一个单元格的值


解决方案:尝试将card={}移动到单元格循环中,以便在迭代单元格时为每个单元格而不是每行创建一张新卡(
for(var x=0;x
)您正在迭代表中的每个单元格,最后一个单元格是怀俄明州。相反,您希望迭代
info
,它只包含给定行中的单元格

rowArray = []
deck = []

$('tbody').click(function(){
    var rows = $(this).find('tr');
    var cells  = $(this).find('tr td');
    for (w = 0; w<cells.length; w++){
        if (cells[w].innerText === undefined){
        }
        else{
            rowArray.push(cells[w].innerText)
        }
        };
    for (var i =0; i < rows.length; i++){
        var card = {}
        var info =$(rows[i]).find('td')
        var cardFront = info[0]
        card.front = $(cardFront).text()

        // Remove first cell from info
        info = info.slice(1);
        card.back = info.map(function(i,e) { return e.innerText }).toArray();

        // Move this line inside the rows loop
        deck.push(card);
     }
});
rowArray=[]
甲板=[]
$('tbody')。单击(函数(){
var rows=$(this.find('tr');
var cells=$(this.find('tr td');

对于汉克人来说,它成功了