NODE.JS Multidimensional/Sub 数组 PUSH 原型

NODE.JS Multidimensional/Sub array PUSH prototype

我试图在解析后将数据分类到适当的数组类别中;

首先让我们像这样初始化我的数组。

const foo = {
    bar: {},
    bar2: {}
}

例如,我无法在子数组构建中使用 .push 原型。

foo.bar.push('foobar');

我将收到的错误是

TypeError: Cannot read property 'push' of undefined

已使用第一段代码初始化数组。

我也曾尝试使用以下命令并从控制台收到相同的响应。

foo[0].push('foobar');

如何将数据推送到子阵列?

奖金POINTS/PS. 这种数组叫什么?这是子数组还是多维数组,或者两者都不是?

提前致谢。

您声明的是对象而不是数组。

const foo = {
    bar: {},
    bar2: {}
}

在这种情况下,bar 和 bar2 都是对象而不是数组。并且对象的原型上不可用推送。

使用它来声明对象内的数组。

const foo = {
    bar: [],
    bar2: []
}

我想补充一下 shubham-gupta 的回应,如果你想推送到 foo,你也应该将它声明为一个数组:

const foo = [{
    bar: [],
    bar2: []
}]

Christopher,错误说明了它的意思,因为无法将元素 push 放入 object, but only an array

勾选this page,区分两者。

要在对象中设置键的值,您可以执行以下操作: <your_object>.<your_key>= <your_value>;

要将元素压入数组,您可以:<your_array>.push(<your_element>);

因此 foo 中的 bar 元素应该是数组 => [],而不是对象;

在你的例子中,你似乎想要将元素 "foobar" 推入对象 [=14= 内的数组 bar ].

要做到这一点,您需要做的就是:

const foo = {
    bar: [],
    bar2: []
}
foo.bar.push('foobar');