如何向对象添加一个空数组?
How to add an empty array to object?
我在通过括号表示法将我的空数组添加到我的对象时遇到了问题。我知道如何通过点符号将我的空数组放入对象中,但我只是不明白为什么括号符号对我不起作用。
更新:我明白我的问题了;点符号和括号符号之间的上下文切换让我蒙蔽了双眼,我完全不记得在我的第三个块中 - 动物[噪声](忘记了“”)试图访问 属性 的 属性 值] 噪音,我还没有在我的对象中创建
为我的对象创建和添加属性
var animal = {};
animal.username = "Peggy";
animal["tagline"] = "Hello";
然后将创建这个:
animal {
tagline: "Hello",
username: "Peggy"
}
当我尝试将它添加到我的对象中时,为什么以下操作不起作用?
var noises = [];
animal[noises];
我在我的控制台中得到这个(同上):
animal {
tagline: "Hello",
username: "Peggy"
}
我是这样得到结果的:
animal.noises = [];
将此输出到我的控制台:
animal {
noises: [],
tagline: "Hello",
username: "Peggy"
}
但这仍然留给我一个问题:为什么这不能通过括号表示法工作?
使用
animal.noises = noises;
或
animal['noises'] = noises;
当您使用 animal[noises];
时,这意味着当您尝试从对象中读取数据时。
对于animal[noises]
,
animal
是对象
- 和
noises
是对象animal
的key/property
并且数组不能作为键。如果你想将 noises
数组放入 animal
对象中,你可以按如下方式进行,
animal['noises'] = noises;
在你的情况下你必须尝试
animal['noises']=noises
数组 []
符号用于获取需要引号的对象的 属性。数组符号通常用于获取具有特殊字符 included.say、
的对象的标识符
var animal={
"@tiger":'carnivore' // you can't have @tiger without quote as identifier
}
console.log(animal.@tiger) // it will give ERROR
console.log(animal['@tiger']) // it will print out 'carnivore'
this link has good explanation on array and dot notation .
我在通过括号表示法将我的空数组添加到我的对象时遇到了问题。我知道如何通过点符号将我的空数组放入对象中,但我只是不明白为什么括号符号对我不起作用。
更新:我明白我的问题了;点符号和括号符号之间的上下文切换让我蒙蔽了双眼,我完全不记得在我的第三个块中 - 动物[噪声](忘记了“”)试图访问 属性 的 属性 值] 噪音,我还没有在我的对象中创建
为我的对象创建和添加属性
var animal = {};
animal.username = "Peggy";
animal["tagline"] = "Hello";
然后将创建这个:
animal {
tagline: "Hello",
username: "Peggy"
}
当我尝试将它添加到我的对象中时,为什么以下操作不起作用?
var noises = [];
animal[noises];
我在我的控制台中得到这个(同上):
animal {
tagline: "Hello",
username: "Peggy"
}
我是这样得到结果的:
animal.noises = [];
将此输出到我的控制台:
animal {
noises: [],
tagline: "Hello",
username: "Peggy"
}
但这仍然留给我一个问题:为什么这不能通过括号表示法工作?
使用
animal.noises = noises;
或
animal['noises'] = noises;
当您使用 animal[noises];
时,这意味着当您尝试从对象中读取数据时。
对于animal[noises]
,
animal
是对象- 和
noises
是对象animal
的key/property
并且数组不能作为键。如果你想将 noises
数组放入 animal
对象中,你可以按如下方式进行,
animal['noises'] = noises;
在你的情况下你必须尝试
animal['noises']=noises
数组 []
符号用于获取需要引号的对象的 属性。数组符号通常用于获取具有特殊字符 included.say、
var animal={
"@tiger":'carnivore' // you can't have @tiger without quote as identifier
}
console.log(animal.@tiger) // it will give ERROR
console.log(animal['@tiger']) // it will print out 'carnivore'
this link has good explanation on array and dot notation .