使用JavaScript访问变量对象的属性

Brohannsebastian

我有一个看起来像这样的js对象:

 var object = {
      "divisions": {
          "ocd-division/country:us": {
              "name": "United States",
          }
      }
    };

我想访问嵌套对象"ocd-division/country:us"(又名“名称”)下列出的属性,但是我遇到的问题是这"ocd-division/country"是一个变量对象。就像加拿大可能是“:can”之类的。

我的问题是,即使它是变量,我仍然可以访问该对象下的name属性吗?我在下面编写了代码,但是它按字面意义调用了该对象,因此无法说明该对象名称的更改。

    var country = document.getElementById("p");
    p.innerHTML = object.divisions["ocd-division/country:us"].name;

我是JavaScript的新手,如果这是一个愚蠢的问题,我们深感抱歉。

i

当您不知道对象的属性时,可以使用

// Adding properties: "ownEnumerable", "ownNonEnumerable",
// "inheritedEnumerable" and "inheritedNonEnumerable"
var obj = Object.defineProperties({}, {
  ownEnumerable: {enumerable: true},
  ownNonEnumerable: {},
});
Object.defineProperties(Object.prototype, {
  inheritedEnumerable: {enumerable: true},
  inheritedNonEnumerable: {},
});

// Display results
function log(id, arr) {
  document.getElementById(id).textContent = '[' + arr.join(', ') + ']';
}
log('forin', function(forInProps){
  for (var prop in obj) forInProps.push(prop);
  return forInProps;
}([]));
log('keys', Object.keys(obj));
log('names', Object.getOwnPropertyNames(obj));
<dl>
  <dt><code>for...in</code></dt><dd id="forin"></dd>
  <dt><code>Object.keys</code></dt><dd id="keys"></dd>
  <dt><code>Object.getOwnPropertyNames</code></dt><dd id="names"></dd>
</dl>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章