使用JQuery.map()将两个表与对应的数据映射为一个数组

使用JQuery.map()将两个表与对应的数据映射为一个数组,jquery,Jquery,我正在从一个网站上抓取信息。我试图从这两个表中获得以下信息 PlayerRank PlayerName奖 两个表中的信息相互关联 然后我需要将每个玩家的信息输入到我的数据库中 我现在无法将两个表中的信息放入一个数组中 我创建了一个JSFIDLE来尝试不同的东西 表一 有几种方法可以做到这一点。您可以使用一个映射,并使用作为参数提供的索引来获取其他表数据,以便与正在映射的表组合 或 使用您已经完成的工作,最后使用: var results = $.extend(true, prizeTable,

我正在从一个网站上抓取信息。我试图从这两个表中获得以下信息

PlayerRank PlayerName奖

两个表中的信息相互关联

然后我需要将每个玩家的信息输入到我的数据库中

我现在无法将两个表中的信息放入一个数组中

我创建了一个JSFIDLE来尝试不同的东西

表一
有几种方法可以做到这一点。您可以使用一个
映射
,并使用作为参数提供的索引来获取其他表数据,以便与正在映射的表组合

使用您已经完成的工作,最后使用:

var results = $.extend(true, prizeTable, playerTable);


将第二个表中的单元格附加到第一个表中,然后获取列并映射第一个表

如何在没有重复列的情况下执行此操作?哦,是的..我没有注意到…给我几分钟时间真正简单的方法是在制作
列时将两个标题文本小写
,这样就存在相同的属性,而不必这样做别的。。不会有两个属性…只有一个。扩展就是这样工作的……如果属性存在,它会将第一个值设置为第二个值。我不知道如何将第一个表中的单元格附加到第二个表中。我想我应该能够处理这个问题。非常感谢。不用了,用两次没关系。。。这里还有一个较短的合并表版本
<table id="ranked_players">
            <thead>
             <tr><th>RANK</th>
             <th>NAME</th>
             <th>CHIPS</th>
            </tr></thead>
            <tbody>


                     <tr class="odd">
                <td>1</td>
                <td>shanghai</td>
                <td>20000.00</td>
             </tr>
                     <tr class="even">
                <td>2</td>
                <td>SOCRATES</td>
                <td>0.00</td>
             </tr>
                     <tr class="odd">
                <td>3</td>
                <td>mollypop</td>
                <td>0.00</td>
             </tr>
                     <tr class="even">
                <td>4</td>
                <td>Vegaz</td>
                <td>0.00</td>
             </tr>
                     <tr class="odd">
                <td>5</td>
                <td>aRrOwDreWLs</td>
                <td>0.00</td>
             </tr>
                     <tr class="even">
                <td>6</td>
                <td>Cheatos</td>
                <td>0.00</td>
             </tr>
                     <tr class="odd">
                <td>7</td>
                <td>easypoker</td>
                <td>0.00</td>
             </tr>
                     <tr class="even">
                <td>8</td>
                <td>YNVME</td>
                <td>0.00</td>
             </tr>
                     <tr class="odd">
                <td>9</td>
                <td>askewbowl</td>
                <td>0.00</td>
             </tr>
                     <tr class="even">
                <td>10</td>
                <td>funlv</td>
                <td>0.00</td>
             </tr>
                            </tbody>
         </table>
$(document).ready(function(){

                var columns = $('#ranked_players thead th').map(function() {
                  return $(this).text();
                });

                var playerTable = $('#ranked_players tbody tr').map(function(i) {
                  var row = {};
                  $(this).find('td').each(function(i) {
                    var rowName = columns[i];
                    row[rowName] = $(this).text();
                  });
                  return row;
                }).get();


                console.log(playerTable);
                var columns = $('#prize_info_container table thead th').map(function() {
                  return $(this).text();
                });
                var prizeTable = $('#prize_info_container table tbody tr').map(function(i) {
                  var row = {};
                  $(this).find('td').each(function(i) {
                    var rowName = columns[i];
                    row[rowName] = $.trim($(this).text());
                  });
                  return row;
                }).get();


                console.log(prizeTable);


            });
var results = $.extend(true, prizeTable, playerTable);