对象get属性中的Javascript对象

Javascript Object within Object get property

本文关键字:对象 Javascript 属性 get      更新时间:2023-09-26

已经找了一个小时了,找不到我要找的东西。谢谢你的帮助。

我有一个来自ajax调用的JSON对象,其中包含几个带有数字键的其他对象。

{"1" : { "Name" : "George", "DOB" : "11/1/88", "NickName" : "Porky" },
"2" : { "Name" : "Pete", "DOB" : "6/6/85", "NickName" : "Bozo" }}

我现在想要独立访问这些对象中的属性。例如:

for(var key in obj) {
    alert(obj. something here .Name);
}

但是我怎么也找不到正确的语法。

obj.1。Name(我见过每个对象的键是字符串而不是数字)

obj[1].Name
谁能让我从痛苦中解脱出来?我怎么说呢,创建一个[Name1, Name2, etc...]的数组

你正在寻找括号符号:

for (var key in obj) {
    alert(obj[key].Name);
}

在JavaScript中,您可以使用点符号和文字属性名(obj.foo)或括号符号和字符串*属性名(obj["foo"])访问对象属性。在括号表示法中,字符串可以来自任何表达式,包括变量查找。

生活例子:

var obj = {
  "1": {
    "Name": "George",
    "DOB": "11/1/88",
    "NickName": "Porky"
  },
  "2": {
    "Name": "Pete",
    "DOB": "6/6/85",
    "NickName": "Bozo"
  }
};
for (var key in obj) {
  snippet.log(obj[key].Name);
}
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>


*在ES6中括号符号也将支持Symbol属性名称