Дан массив из массива строк, как например:Создание дерева Javascript из массива строк
incoming = [["1","A","C","3"],
["2","A","C","1"],
["1","B","D","3"],
["2","B","D","4"],
["2","B","D","5"]];
Как превратить его в объект JSON как это:
[
{ "1": [
{ "A": [
{ "C": ["3"]
}
]
},
{ "B": [
{ "D": ["3"]
}
]
}
]
},
{ "2": [
{ "A": [
{ "C": ["1"]
}
]
},
{ "B": [
{ "D": ["4","5"]
}
]
}
]
}
]
I Мы рассмотрели несколько ответов на связанные вопросы, но не можем понять, как их сопоставить с этим конкретным требованием.
В PHP это было бы очень просто.
foreach (incoming AS inc)
{
output[inc[0]][inc[1]][inc[2]][inc[3]] = "x";
}
Спасибо!
вас PHP не будет работать так, как вы предполагаете, поскольку вы просто получите многомерный массив, а не массив объекта с вложенными массивами объектов. –
^Но также нет ничего динамичного в этом решении PHP ... Наверное, это вопрос этого вопроса, иначе вы можете сделать то же самое в JS, если знаете, что всегда есть 4 элемента. – elclanrs
Вы уверены, что структура данных вам подходит? Все ваши объекты имеют только одно свойство. Вы уверены, что хотите массивы объектов с одним свойством, а не объекты с несколькими свойствами, соответствующими строкам? – Barmar