gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:51:57 25 4
gpt4 key购买 nike

我有一个如下所示的 js 对象:

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

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

我的问题是,即使它是可变的,我仍然可以访问该对象下的名称属性吗?我在下面写了我想出的代码,但它按字面意思调用了对象,所以它不能解释对象名称的变化。

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

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

最佳答案

当你不知道一个对象的属性时,你可以使用

// 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>

关于javascript - 使用 JavaScript 访问变量对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31360321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com