2015-09-26 31 views
-4

我想將des []的dataElement和category的值分配給循環中的不同變量,任何主體都可以幫助我嗎?如何讀取對象中數組的值

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

不是很清楚你的目標,如果只是將這些值賦值給另一個變量,爲什麼你需要循環? – HolyMoly

+0

什麼循環?你的嘗試在哪裏?這不是一個代碼寫入服務。但是,當您顯示不能正常工作的代碼時,您將獲得許多幫助,並提供應該執行的操作的正確解釋 – charlietfl

回答

0

,如果你只是想抓住值,並將其賦值給一個變量試試這個:

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

該行會搶了dataElement值從第一物體的內des屬性的對象數組。您可以繼續抓取像這樣的元素而無需循環。除非你出於某種原因需要循環。那部分不清楚。

0

究竟是什麼問題?只知道如何從該對象獲取數據?點運算符?

這是一個名爲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. 
}
相關問題