首页 > 解决方案 > 用 Javascript 创建数组,带键

问题描述

我正在尝试在 javascript 中创建一个数组。

这是我的代码:

        var arr = {};

        for (q = 0; q < ids.length; q++) {
            var rowId = ids[q];
            var rowData = jQuery("#<%= JQGrid2.ClientID %>").jqGrid('getRowData', rowId);

            arr["section"] = rowData.inv_section;
            arr["po"] = rowData.cust_po;
            arr["description"] = rowData.description;   

        };

        console.log(arr);

上面代码的结果是:

{description: "Telephone Calls", po: "PO3547", section: "Telephony"}

但是我想连接循环中的所有项目,所以我最终得到一个数组,如下所示:

[{description: "Telephone Calls", po: "PO3547", section: "Telephony"},
{section: Telephony, po: "PO0067", description: "ISDN"}, 
{section: Managed Service, po: "PO0066", description: "Desktop Support"}, 
{section: Managed Service, po: "PO0066", description: "Desktop Support"}]

标签: javascriptarraysloops

解决方案


您正在将“数组”初始化为一个对象。通过以下方式更改您的代码:

var arr = [];

for (q = 0; q < ids.length; q++) {
    var rowId = ids[q];
    var rowData = jQuery("#<%= JQGrid2.ClientID %>").jqGrid('getRowData', rowId);

    var item = {}

    item["section"] = rowData.inv_section;
    item["po"] = rowData.cust_po;
    item["description"] = rowData.description;   

    arr.push(item)
};

console.log(arr);

推荐阅读