在Javascript中读取对象中的对象值
Read values of objects within objects in Javascript
我创建了如下键值映射,deMapping包含来自不同来源的数据,如RBSK等。现在我想读取RBSK和其他源中的所有值,并希望在foreach循环中运行,如下所示:deMapping。forEach(功能(数据)
var deMapping = {
RBSK: {'dsUID': 'tdTwLUxcQ8R', rootNodeName: 'RBSK_GIS_Indicator', orgUnitTagName: 'MCTSCode', des: [
{
xmlid: "Childhood_Diseases_0_6_Female",
dataElement: "oV163sbcJ0N",
categoryOptionCombo: "Cmzbo9LD8pJ"
},
{
xmlid: "Childhood_Diseases_0_6_Male",
dataElement: "oV163sbcJ0N",
categoryOptionCombo: "PnAVAPG4yvb"
},
{
xmlid: "Childhood_Diseases_7_18_Female",
dataElement: "cEPledgs7rd",
categoryOptionCombo: "Cmzbo9LD8pJ"
},
{
xmlid: "Childhood_Diseases_7_18_Male",
dataElement: "cEPledgs7rd",
categoryOptionCombo: "PnAVAPG4yvb"
},
{xmlid: "Deficiencies_0_6_Female", dataElement: "gKupqkIhW4n", categoryOptionCombo: "Cmzbo9LD8pJ"},
{xmlid: "Deficiencies_0_6_Male", dataElement: "gKupqkIhW4n", categoryOptionCombo: "PnAVAPG4yvb"},
{xmlid: "Deficiencies_7_18_Female", dataElement: "FuEnn0bLuoT", categoryOptionCombo: "Cmzbo9LD8pJ"},
{xmlid: "Deficiencies_7_18_Male", dataElement: "FuEnn0bLuoT", categoryOptionCombo: "PnAVAPG4yvb"},
{
xmlid: "Developmental_dealy_and_disability_0_6_Female",
dataElement: "v37HBq7C72j",
categoryOptionCombo: "Cmzbo9LD8pJ"
},
{
xmlid: "Developmental_dealy_and_disability_0_6_Male",
dataElement: "v37HBq7C72j",
categoryOptionCombo: "PnAVAPG4yvb"
},
{
xmlid: "Developmental_dealy_and_disability_7_18_Female",
dataElement: "S1WMlAKnF8Z",
categoryOptionCombo: "Cmzbo9LD8pJ"
},
{
xmlid: "Developmental_dealy_and_disability_7_18_Male",
dataElement: "S1WMlAKnF8Z",
categoryOptionCombo: "PnAVAPG4yvb"
},
{
xmlid: "defect_at_birth_0_6_Female",
dataElement: "JJO3utHjb3l",
categoryOptionCombo: "Cmzbo9LD8pJ"
},
{xmlid: "defect_at_birth_0_6_Male", dataElement: "JJO3utHjb3l", categoryOptionCombo: "PnAVAPG4yvb"},
{
xmlid: "defect_at_birth_7_18_Female",
dataElement: "qoVmtykHboz",
categoryOptionCombo: "Cmzbo9LD8pJ"
},
{xmlid: "defect_at_birth_7_18_Male", dataElement: "qoVmtykHboz", categoryOptionCombo: "PnAVAPG4yvb"}
]
}
}
deMapping
是一个对象,所以你不能在它上面运行forEach
。
相反,用a代替(var prop in deMapping)
代替…In(如果需要,为包含的每个对象嵌套循环)。
for (var prop in deMapping) {
var subObj = deMapping[prop];
for (var subProp in subObj) { // subObj is what you call RBSK, we are looping on it now
console.debug(subProp, ":", subObj[subProp]); // will output 'dsUID': 'tdTwLUxcQ8R', rootNodeName: 'RBSK_GIS_Indicator', ... at each loop
}
}
在ES6中,你还可以使用for…
编辑:访问des
属性并遍历其对象,然后遍历对象属性本身。
for (var prop in deMapping) {
var subObj = deMapping[prop];
for (var subProp in subObj) { // subObj is what you call RBSK, we are looping on it now
if (subProp === "des") {
subObj[subProp].forEach(function(resObj) {
for (var prop in resObj) {
console.debug(prop, ":", resObj[prop]);
}
});
}
}
}
相关文章:
- 如何使用jquery读取对象字符串
- 读取在具有IE的工作程序中生成的对象URL
- 如何将从XML读取的值存储到本地对象's成员使用.get()函数
- 如何读取csv文件并将其转换为javascript中的对象
- 无法读取数据“;对象名称“;未定义的角度方向
- javascript:对具有对象的对象进行排序并读取它们
- 如何使用 Backbone 读取通过同一 REST URL 返回的两个不同对象
- 角度无法读取数组中的对象
- 未捕获的类型错误: 无法读取未定义的 - 对象的属性
- 正在读取php文件中通过ajax发送的json对象
- 如何从节点.js请求对象读取数据事件(块)
- Javascript,'for in' 循环将对象读取为字符串
- 从 javascript 中的 JSON 对象读取值
- 仅从 JSON 对象读取日期或仅读取白天时间
- 从firebase链接应用程序中的.val()对象读取值
- 如何使用子对象读取对象
- 在POST上将javascript对象读取为JSON
- 如何从 JSON 对象读取密钥
- 仅当对象存在时,才从 javascript 中的 html 表单对象读取
- expect(object). toequal (object)抛出错误对象读取没有方法调用