如何读取对象中的数组值

时间:2015-09-26 03:36:49

标签: javascript

我想将一个dataElement的值和des []的类别分配给循环中的不同变量,任何正文都可以帮助我吗?

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"
                }]}
  }

2 个答案:

答案 0 :(得分:0)

如果您只想获取值并将它们分配给变量,请尝试:

var x = deMapping.RBSK.des[0].dataElement // => "oV163sbcJ0N"

该行将从des属性的对象数组中的第一个对象中获取dataElement值。您可以继续抓取这样的元素而不循环。除非你因某种原因需要循环。那部分不清楚。

答案 1 :(得分:0)

你究竟遇到什么问题?只知道如何从该对象获取数据?点运算符?

这是一个名为deMapping的对象。 deMapping对象有一个名为RBSK的属性,它是一个对象。到目前为止,您已经deMapping.RBSK去了解这一点。该RBSK对象有4个属性(dsUID,rootNodeName,orgUnitTagName和des)。列出的前3个是字符串值,最后一个(des)是数组。要访问该阵列,您需要deMapping.RBSK.des。该数组有3个值。您可以使用deMapping.RBSK.des[0]访问它们(示例为0索引,因为数组从零开始索引)。每个数组值都是对象,每个对象都有3个可访问的属性(xmlid,dataElement和categoryOptionCombo)。再次,点运算符将用于访问那些。所以在这一点上访问第三个数组值的dataElement(它将是2,因为它从零开始索引...所以0,1和2)它将会deMapping.RBSK.des[2].dataElement

循环的一个例子就是这样的。

var j = deMapping.RBSK.des.length;
for (i = 0; i < j; i++) {
    var theDataElement = deMapping.RBSK.des[i].dataElement;
    var theCategoryOptionCombo = deMapping.RBSK.des[i].categoryOptionCombo;
    // do something with those values.
}