使用.each()从表行中创建嵌套的Object

时间:2015-11-17 18:15:23

标签: javascript html json object

我在使用Object循环时拼命尝试创建.each(),但似乎无法正常工作。这是代码:

$("#pdfyap").on("click", function(){

    var sonarr = {};

    $("#bura tr").each(function(){
        var malzemeadi = $(this).find(".maladi").html();
        console.log(malzemeadi);
        sonarr[malzemeadi] = {};   
        sonarr[malzemeadi]["malzemekodu"] = $(this).find(".malkodu").html();
        sonarr[malzemeadi]["malzemedovizi"] = $(this).find(".doviz").html();
        sonarr[malzemeadi]["malzemekdvorani"] = $(this).find(".kdvoranbir").html();
        sonarr[malzemeadi]["malzemebirimfiyati"] = $(this).find(".birimfiyat").html();
        sonarr[malzemeadi]["malzemebirimkdvmiktari"] = $(this).find(".kdvmikbir").html();
        sonarr[malzemeadi]["malzemedovizfiyati"] = $(this).find(".dovfiyat").html();
    });
    sonarr["nettoplam"] = $("#aratop").html();
    sonarr["kdvtoplam"] = $("#kdvtop").html();
    sonarr["grosstoplam"] = $("#totaltry").html();
    console.log(sonarr);
});

我得到了所有的值,但在控制台中,对象似乎只有键( malzemeadi ),并且它的值为空,最后三个值是正确的。长话短说:虽然选择器得到的值正确(多次检查),但是没有添加嵌套的。我错过了什么?

这也是控制台日志:

Object { sdfsadd: Object, fhg: Object, xcvxcv: Object, nettoplam: "6431", kdvtoplam: "245", grosstoplam: "6676" }

提前致谢。

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码并且它有效。问题是控制台只显示顶级项而不扩展层次结构。尝试单击日志旁边的小箭头以查看扩展的层次结构。

或者,您可以将对象转换为JSON并将其记录到控制台以查看其层次结构:

console.log(JSON.stringify(sonarr, null, 4));