jquery 如何使用Json和each循环创建嵌套数组

vngu2lb8  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(115)

这是代码如何创建嵌套数组在这里如何推动数组本身。什么是代码,我可以使用这个。推,因为它不工作。

function getAddedItemDetailArray() {
    debugger;
    var arrItemDetail = [];
    $(".clsaddNewItem").each(function () {
        arrItemDetail.push({
            "itemid": $(this).find(".clsHdfSitemId").val(),
            "uomid": $(this).find(".clsUom").val(),
            "orderqty": $(this).find(".clsOrderQuantity").val(),
            "deliveringqty": $(this).find(".clsDeliveringQuantity").val(),
            "listofgoodsdeliverynoteitemmapallocation": [$(this).find(".clsaddNewItemSub").each(function() {
                **this**.push({

                    "itemwarehousedetailmapid": $(this).find(".clsLocation").val(),
                    "qty": $(this).find(".clsQty").val()

                })
            })]

        })
    });
    return arrItemDetail;
}

字符串

eivgtgni

eivgtgni1#

JavaScript这个作用域在函数内部引用不同的对象。您可以阅读有关this和scope over MDN documention的更多信息
为了解决这个问题,我建议您使用arrow function来替换内部匿名函数,以保留访问正确this的作用域。

function getAddedItemDetailArray() {
    debugger;
    var arrItemDetail = [];
    $(".clsaddNewItem").each(function () {
        arrItemDetail.push({
            "itemid": $(this).find(".clsHdfSitemId").val(),
            "uomid": $(this).find(".clsUom").val(),
            "orderqty": $(this).find(".clsOrderQuantity").val(),
            "deliveringqty": $(this).find(".clsDeliveringQuantity").val(),
            "listofgoodsdeliverynoteitemmapallocation": [$(this).find(".clsaddNewItemSub").each( () => {
                this.push({
                    "itemwarehousedetailmapid": $(this).find(".clsLocation").val(),
                    "qty": $(this).find(".clsQty").val()
                })
            })]


        })
    });
    return arrItemDetail;
}

字符串

相关问题