Вот сделка. Я начинаю с объектного литерала.
var prepObj = {};
Затем я буду выполнять foreach, добавляя свойства к этому объекту. В принципе, в итоге это будет выглядеть примерно так (в более крупном масштабе).
{
34 : {
prop1: myvalue,
prop2: myvalue,
}
87 : {
prop1: myvalue,
prop2: myvalue,
}
102 : {
prop1: myvalue,
prop2: myvalue,
}
}
На протяжении цикла я буду находить значение для определенного свойства определенного индекса (например, prop1 из 87) и создавать его для объекта.
Итак, перед циклом я начинаю с пустого объекта.
Затем во время цикла я подумал, что могу сделать:
var index_id = 87;
var which_prop = "prop1";
var prop_value = "This is a value.";
prepObj[index_id][which_prop] = prop_value;
но когда я пытаюсь это сделать, я получаю сообщение об ошибке:
Uncaught TypeError: Cannot set property 'prop1' of undefined
Что я делаю не так?