Объединение переменных в двойном вложенном цикле
В приведенном ниже коде мой внешний цикл "четыре" извлекает строку данных, возвращаемых базой данных. Внутренний цикл определяет столбец (или значение ключа ассоциативного массива) для включения в результаты.
Затем я пытаюсь объединить строку со значением ключа (атрибутом), чтобы получить данные, связанные со строкой и ключом (столбцом).
Тем не менее, я продолжаю получать [object Object].KeyName
,
В любом случае я могу объединить row[i]
с fields[j].value
(где fields[j].value
адрес), чтобы получить row[i].Address
?,
var substring = "<tr><td>" + rows[i].institutionName +"</td>";
for(j=0; j<fields.length; j++)
{
if(fields[j].checked)
{
var checkbox = rows[i] + "." + fields[j].value;
substring += "<td>" + checkbox +"</td>";
}
}
str += substring;
}
str += "</table>";
1 ответ
Как это:
row[i][ fields[j].value ];
В javascript к свойствам объекта можно (обычно) обращаться двумя способами: obj.prop
или же obj["prop"]
для динамического выбора свойств. Другими словами, row[i].Address
эквивалентно row[i]["Address"]
Примечание: не забывайте, что переменные и свойства javascript чувствительны к регистру, и условием является использование camelCase вместо PascalCase для свойств объекта (опять же, обычно.) row[i]["Address"]
не будет таким же как row[i]["address"]