2015-09-26 2 views
-4

Я хочу присвоить значения 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

Непонятно, на какой цели вы хотите присвоить эти значения другой переменной, почему вам нужно зацикливаться? – HolyMoly

+0

Какой цикл? Где твоя попытка? Это не служба написания кода. Тем не менее вы получите большую помощь, если вы покажете код, который не работает, и дайте правильное объяснение того, что он должен делать – charlietfl

ответ

0

если вы просто хотите, чтобы захватить значения и присвоить их переменной попробовать это:

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

, что линия будет захватывать значение dataElement от первого объекта внутри из des массив объектов объекта. Вы можете продолжать захватывать такие элементы без цикла. Если вам почему-то не понадобится петля. Эта часть не ясна.

0

С чем именно вы столкнулись? Просто зная, как получить данные от этого объекта? Оператор точки?

Это объект с именем deMapping. Объект deMapping имеет 1 свойство, называемое RBSK, которое является объектом. До сих пор вы пошли deMapping.RBSK, чтобы добраться до этого. Этот объект RBSK имеет 4 свойства (dsUID, rootNodeName, orgUnitTagName и des). Первыми тремя перечисленными являются строковые значения, последний (des) - это массив. Чтобы получить доступ к этому массиву, вы отправитесь deMapping.RBSK.des. Этот массив имеет 3 значения. Вы получите доступ к ним с помощью deMapping.RBSK.des[0] (примером является индекс 0, так как массивы индексируются с нуля). Каждое из этих значений массива - это объекты, каждый из которых имеет 3 возможных свойства доступа (xmlid, dataElement и categoryOptionCombo). Таким образом, оператор точки будет использоваться для доступа к ним. Таким образом, в этот момент для доступа к элементу данных третьего значения массива (который будет равен 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. 
}
Смежные вопросы