未定义的多维数组的设置值

Setting values for a multidimensional array undefined

本文关键字:设置 数组 未定义      更新时间:2023-09-26

我目前正在弄乱多维数组来存储一些涉及多个连接表和每个表中多个字段的信息。我正在使用jQuery.ajax()获取数据并使用.each输出它,所有这些东西都可以正常工作,但是现在我正在尝试设置数组,chrome控制台显示未定义的值,而从我所看到的应该设置它们。唯一设置的是最后一次通过循环。

这是我在设置数组方面的循环:

    gAuthrequests[gAuthrqcount][1] = [];
    gAuthrequests[gAuthrqcount][1][i] = [];
    gAuthrequests[gAuthrqcount][1][i][0] = val.KRANE_REQUEST_DETAILS_ID;
    gAuthrequests[gAuthrqcount][1][i][1] = comments;
    gAuthrequests[gAuthrqcount][1][i][2] = 0;
    i++;

我知道循环有效,因为它输出正常,我还使用 console.log 一度根据这些行跟踪数组的进度,一切看起来都很好,这是输出:

    KRID: (96) Assign Var: gAuthrequests[7][1][0][0]: 63
    KRID: (96) Assign Var: gAuthrequests[7][1][0][1]: No comments
    KRID: (96) Assign Var: gAuthrequests[7][1][0][2]: 0
    KRID: (96) Set var: gAuthrequests[7][1]:
    KRID: (96) Set var: gAuthrequests[7][1][1]:
    KRID: (96) Assign Var: gAuthrequests[7][1][1][0]: 64
    KRID: (96) Assign Var: gAuthrequests[7][1][1][1]: No comments
    KRID: (96) Assign Var: gAuthrequests[7][1][1][2]: 0
    KRID: (96) Set var: gAuthrequests[7][1]:  okr.js:360
    KRID: (96) Set var: gAuthrequests[7][1][2]:
    KRID: (96) Assign Var: gAuthrequests[7][1][2][0]: 65
    KRID: (96) Assign Var: gAuthrequests[7][1][2][1]: No comments
    KRID: (96) Assign Var: gAuthrequests[7][1][2][2]: 0
    KRID: (96) Set var: gAuthrequests[7][1]:
    KRID: (96) Set var: gAuthrequests[7][1][3]:
    KRID: (96) Assign Var: gAuthrequests[7][1][3][0]: 66
    KRID: (96) Assign Var: gAuthrequests[7][1][3][1]: I want access to this this this this this
    KRID: (96) Assign Var: gAuthrequests[7][1][3][2]: 0

在这个例子中,唯一要设置的变量是'gAuthrequests[7][1][3]'(66),前面的3个是未定义的

最终使用了一个对象数组:

在第一次循环之前: 'gRQCount = [];'

在第二个循环之前:'var i = 0;'

循环中:

    gAuthrequests[gRQCount][i] = {};
    gAuthrequests[gRQCount][i].krid = krid;
    gAuthrequests[gRQCount][i].krdid = val.KRANE_REQUEST_DETAILS_ID;
    gAuthrequests[gRQCount][i].cylinder = cylinderrecid;
    gAuthrequests[gRQCount][i].comments = comments;
    gAuthrequests[gRQCount][i].status = 0;
    i++

为建议精灵干杯