Я в принципе хочет сделать это в обратном порядке: Convert multidimensional array to objectПреобразовать объект multidimensinal массива
Так скажем, у меня есть объект вроде этого:
{
"6": {"10":{'id':0,'name':'player1'}},
"7": {"5":{'id':1,'name':'player2'}}
}
Как я могу преобразовать, что в легальный массив, как это :
[
null,
null,
null,
null,
null,
null,
[null, null, null, null, null, null, null, null, null, null, {'id':0,'name':'player1'}],
[null, null, null, null, null, {'id':1,'name':'player2'}]
]
Это код, который я успешно используется для преобразования его в другую сторону вокруг:
function populateFromArray(array) {
var output = {};
array.forEach(function(item, index) {
if (!item) return;
if (Array.isArray(item)) {
output[index] = populateFromArray(item);
} else {
output[index] = item;
}
});
return output;
}
console.log(populateFromArray(input));
Numbers поскольку имена атрибутов обычно не являются величайшей идеей. – Damiano
Технически это уже законный массив. 'obj [7] [5]' возвращает '{id: 1, name:" player2 "}'. Единственная разница, я думаю, заключается в том, что вместо «null» все незарегистрированные позиции массива «undefined». –
Ну, я хочу, чтобы пройти через предмет, не получая ошибок или проверки на неопределенный. Atm obj [0] [0] через ошибку, не так ли? – Forivin