Javascript 对象数量

标签 javascript jquery multidimensional-array

假设我有一个记录数据库,此处称为 recordDOM,并且我需要分割其长度以适应特定的大​​小限制。

以下代码片段不起作用。它产生一个 TypeError: TypeError: packet[packetCount] is undefined

var packet = {};
var packetCount = 0;
var elementCount = 0;

$.each(recordDOM, function(index, element) {
    if (elementCount >= 168) {
        packetCount++;
        elementCount = 0
    }

    if (typeof element != "undefined") {
        packet[packetCount][elementCount] = element;
    }
    elementCount++;
});

我已经尝试将packet变量初始化为数组,并对上面的代码进行了一些其他小的编辑,但我显然遗漏了一些东西。可以请您赐教吗?

[编辑]所需的输出是:

packet = {
    "0": {
        "0": {
            // First Element
        },
        "1": {
            // Second Element
        },
        ...
        "167": {
            // Last element of the first packet
        }
    },
    "1": {
        "0": {
            // First Element of the second packet
        },
        "1": {
            // Second Element
        },
        ...
        "167": {
            // Last element of the second packet
        }
    }
}

最佳答案

你只需要初始化内部对象,

var packet = {};
var packetCount = 0;
var elementCount = 0;

$.each(recordDOM, function(index, element) {
    if (elementCount >= 168) {
        packetCount++;
        elementCount = 0
    }

    if (element != undefined) {
        if(!packet[packetCount]){
          packet[packetCount] = {};      // Change is here
        }
        packet[packetCount][shipCount] = element;
    }
    shipCount ++;
});

关于Javascript 对象数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42760142/

相关文章:

javascript - 在 angularjs 应用程序中使用 requirejs 和 AMD 有什么好处?

javascript - 浏览器中的 JSON 对象为 null 但不是 Firebug

javascript - 未捕获的类型错误 : Cannot read property 'remove' of undefined

arrays - 如果数组被展平,我如何知道多维数组中项目的索引是什么?

javascript - 动态添加@font-face到svg

javascript - 如何查找函数调用原因

javascript - 如何获取xml所有子节点值?

python - 如何使用 numpy.mgrid 创建多维数组

ios - Swift 中 "Accessing Subscripts of Optional Type"的说明

javascript - jQuery NoUiSlider 不能使用最大值 10