Я предполагаю, что вы пытаетесь создать какой-то объект, который содержит несколько массивов?
Если это так, вы могли бы сделать что-то подобное?
Редактировать
Прочитав некоторые комментарии и еще много чего, ваша проблема заключается в том, что вы продолжаете перезаписывать значение myArrray[index1][index2]
, скорее вы должны сделать что-то вроде моего решения, или Вы могли бы сделать некоторую проверку во внешнем цикле, чтобы увидеть, если myArrray[index1]
, если нет, затем назначить его как массив или объект, а затем позаботиться о других ключах, или index2
.
При использовании подхода map
по крайней мере вам не нужно беспокоиться о проверке, является ли myArrray[index1]
массивом, потому что map
просто вернет массив.
const myArray = {};
// Object containing arrays example.
const dummyData1 = {
'array1': [1, 2, 3, 4],
'array2': [1, 2, 3, 4]
// etc...
};
Object.keys(dummyData1).forEach(key => {
myArray[key] = dummyData1[key].map(data => data);
});
console.log(myArray);
// Object containing objects example.
const dummyData2 = {
'object1': {
id: 1,
name: 'foo'
},
'object2': {
id: 2,
name: 'bar'
}
// etc...
};
Object.keys(dummyData2).forEach(key => {
myArray[key] = { ...dummyData2[key]};
});
console.log(myArray);
// Another example for the lols.
const dummyData3 = {
'arrayx': [1, 2, 3],
'arrayz': [4, 5, 6]
// etc...
};
Object.keys(dummyData3).forEach(key => {
myArray[key] = [...dummyData3[key]];
});
console.log(myArray);
Edit 2
Учитывая, что вы не можете понять первый закодированный пример, чтобы быть честным, как вы сказали, вы новичокв JavaScript, так что вот что вы можете понять, поскольку это намного более знакомо для вашего примера.
const myArray = {};
const data1 = {
'array1': {
a: 1,
b: 2,
c: 3
},
'array2': {
d: 4,
e: 5,
f: 6
}
};
for (let index1 in data1) {
myArray[index1] = myArray[index1] || [];
for (let index2 in data1[index1]) myArray[index1].push(data1[index1][index2]);
}
console.log(myArray);
Редактировать 3
Узнав, что вы пришли из C ++, возможно, читая такие страницы, как , этот может иметь некоторыеПомогите?
Опять же, вы новичок в JavaScript, я не буду делать никаких предположений относительно ваших навыков или умений писать JavaScript.Сам я изначально изучил Java как свой первый язык, поэтому изучение обратного пути JavaScript было немного запутанным для меня, например, когда class
не было чем-то особенным, вы должны были определить класс с функцией, которая не былане имеет большого значения, но это всего лишь одна из этих вещей.