我想要实现的是在JavaScript对象上使用push()
,看起来像这样:
var apps = {
app1:
[
"ci-extension",
"Unnamed",
"<h1>Hello world!</h1>"
],
app2:
[
"ci-extension",
"Another one!",
"Cool!"
]
}
目标是向对象添加第三个键“演示”,然后向其推送另外三行。 所以在所有的插入之后,对象应该看起来像这样:
var apps = {
app1:
[
"ci-extension",
"Unnamed",
"<h1>Hello world!</h1>"
],
app2:
[
"ci-extension",
"Another one!",
"Cool!"
],
demo:
[
"ci-google",
"My demo app!",
"Some content"
]
}
我尝试了什么?
我尝试了以下代码Object.keys(apps).push("demo");
(如果这有意义的话)。作为输出,我刚刚得到 3 并且 key “demo”没有添加到对象中。
然后为了将项目添加到演示中,我尝试使用这段小代码
Object.keys(apps)["demo"].push("blah blah blah...");
,但它完全不起作用。
最佳答案
您不需要在这里push()
,这是为了添加到现有数组。您只想添加一个 key 。最简单的方法是这样的:
apps.demo = [ "ci-google", "My demo app!", "Some content" ];
或者,等价
apps["demo"] = [ "ci-google", "My demo app!", "Some content" ];
您的代码不起作用的原因是 Object.keys( apps )
创建了一个新数组,其中包含 apps
对象中的所有键,但执行了一些操作该数组不会对实际的 apps
对象执行任何操作 - 您只是编辑新数组。您需要做的是直接更改应用程序对象(如我上面所示)。
关于javascript - 如何在 JavaScript 对象上执行 `push` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46354396/