私は次のような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を初めて使用するので、これがばかげた質問である場合は申し訳ありません。
オブジェクトのプロパティがわからない場合は、
for...in
ループ
列挙可能な独自のプロパティと列挙可能な継承されたプロパティを繰り返します。
列挙可能な独自のプロパティを含む配列を返します。
独自のプロパティを含む配列を返します。
// 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]
コメントを追加