遍历对象并获取其他对象 (javascript)
Loop through object and get other objects (javascript)
我有一个对象,其中包含我需要访问的其他对象。我该怎么做?
var obj = {a: {b: 1}} //I need to have access to b.
将 for in 循环右移 returns "a"。问题是我不是在尝试获取对象内部的字符串,而是在对象内部获取对象。
var obj = {
a: {r: "why cant i access"},
}
for(var o in obj){
document.getElementById("div").innerHTML = o.r;
}
<div id="div"></div>
如果你的对象结构如你的问题所述是固定的,你可以循环两次来获取内部对象。
var p = {a: {b: 1}}
for (var key in p) {
for (var k in p[key]) {
console.log(k + " -> " + p[key][k] );
}
}
尽管 Piyush 发布的答案适用于您提供的对象,但它不是通用的并且不适用于所有类型的对象。这是一个读取任何对象属性的脚本:
var obj = {a: {b:'2'}};
var writeProperties = function (obj) {
for(var prop in obj) {
console.log("Property: ",prop,"Property Type:",typeof(obj[prop]));
if(typeof(obj[prop]) == 'object') {
writeProperties(obj[prop]);
} else {
console.log(prop + ':' + obj[prop]);
}
}
}
writeProperties(obj);
我有一个对象,其中包含我需要访问的其他对象。我该怎么做?
var obj = {a: {b: 1}} //I need to have access to b.
将 for in 循环右移 returns "a"。问题是我不是在尝试获取对象内部的字符串,而是在对象内部获取对象。
var obj = {
a: {r: "why cant i access"},
}
for(var o in obj){
document.getElementById("div").innerHTML = o.r;
}
<div id="div"></div>
如果你的对象结构如你的问题所述是固定的,你可以循环两次来获取内部对象。
var p = {a: {b: 1}}
for (var key in p) {
for (var k in p[key]) {
console.log(k + " -> " + p[key][k] );
}
}
尽管 Piyush 发布的答案适用于您提供的对象,但它不是通用的并且不适用于所有类型的对象。这是一个读取任何对象属性的脚本:
var obj = {a: {b:'2'}};
var writeProperties = function (obj) {
for(var prop in obj) {
console.log("Property: ",prop,"Property Type:",typeof(obj[prop]));
if(typeof(obj[prop]) == 'object') {
writeProperties(obj[prop]);
} else {
console.log(prop + ':' + obj[prop]);
}
}
}
writeProperties(obj);