Jquery推送对象变量

时间:2014-02-05 09:35:22

标签: jquery push

   var obj = [];
  $("tr[class*='row_']").each(function () {
   var coord = ($(this).find("td:eq(1)").text().match(/\d{1,3}\|\d{1,3}/g)).toString();


    //alert($(this).find("td:eq(0)").text())

   if (obj[coord]) {obj[coord]++;}
   else { obj.push({coord : 1 }) }

   })

    alert(JSON.stringify(obj));

我的输出:

     [{"coord":1},{"coord":1},{"coord":1},{"coord":1},{"coord":1},{"coord":1}]

应该是:

 523|546 : 3,
 521|424 : 3

我怎么推“名字”:1当coord是我的名字?

1 个答案:

答案 0 :(得分:3)

您在代码var obj = []中使用了一个数组。如果您需要对象,则需要执行此操作var obj = {}

稍后您使用obj.push({coord : 1 })。这只适用于数组。对于对象,您可以执行此操作obj[coord] = 1

var obj = {};
$("tr[class*='row_']").each(function () {
    var coord = ($(this).find("td:eq(1)").text().match(/\d{1,3}\|\d{1,3}/g)).toString();
    //alert($(this).find("td:eq(0)").text())

    if (obj[coord]) {
       obj[coord]++;
    }  
    else { 
      obj[coord] = 1; 
    }
});

alert(JSON.stringify(obj));