Я пытаюсь создать объект объектов внутри объекта с динамически создаваемым паром ключ-значение, но вложенный объект продолжает переопределять пару ключ-значение вместо создания новой пары ключ-значение.
ObjectIDWithQuestions = {};
var ArrayOfBlocks1 = [
{
ID: "block1",
block: "block1",
BlockElements: [
{ QuestionID: "1" },
{ QuestionID: "2" }
]
},
{
ID: "block2",
block: "block2",
BlockElements: [
{ QuestionID: "1" },
{ QuestionID: "2" }
]
},
{
ID: "block3",
block: "block3",
BlockElements: [
{ QuestionID: "1" },
{ QuestionID: "2" }
]
}
];
for(i=0;i<ArrayOfBlocks1.length;i++){
for(k=0;k<ArrayOfBlocks1[i].BlockElements.length;k++){
var ArrayOfBlocks2 = ArrayOfBlocks1[i].ID
ObjectIDWithQuestions[ArrayOfBlocks2]={}
ObjectIDWithQuestions[""+ArrayOfBlocks2]["questions"+ k]=ArrayOfBlocks1[i].BlockElements[k].QuestionID
}
}
console.log(ObjectIDWithQuestions);
Ожидаемый результат кода заключается в создании объекта, который является объектом объектов, который имеет два динамически создаваемых ключа, пары значений вместо одного ключа, пару значений, которая переопределяется. Напримерпечатается следующий код:
block1: {questions1: "2"}
block2: {questions1: "2"}
block3: {questions1: "2"}
Когда он должен печатать
block1: {questions0: "1",questions1:"2"}
block2: {questions0: "1",questions1:"2"}
block3: {questions0: "1",questions1:"2"}