(открыт также для решения PHP)Re-категоризировать родительский массив из объектов дочернего массива в Javascript
Если у меня есть массив в пределах массива, как вы повторно классифицировать родительский массив на основе объекты дочернего массива?
Вот пример того, что я хотел бы достичь:
Say, если исходный массив:
[
{
"name":"Jade",
"tags":[
"developer"
]
},
{
"name":"Bridge",
"tags":[
"cook"
]
},
{
"name":"Ever",
"tags":[
"artist"
]
},
{
"name":"Noah",
"tags":[
"artist",
"developer"
]
}
]
Я хочу, чтобы иметь возможность повторно классифицировать его в:
[
"artist": {
{
{
"name":"Noah",
"tags":[
"artist",
"developer"
]
}
}
"developer": {
{
"name":"Jade",
"tags":[
"developer"
]
},
{
"name":"Noah",
"tags":[
"artist",
"developer"
]
}
},
"cook": {
{
"name":"Bridge",
"tags":[
"cook"
]
},
}
]
Вот что я пробовал:
(исходный массив данных var)
var data = [original array]
var newArray = [];
for (var i = 0; i < data.length; i++) {
for (var a = 0; a < data[i].tags.length; a++) {
newArray[] = data[i].tags[a];
if (newArray[i] == data[i].tags[a]) {
newArray[i] = data[i];
}
}
}
Моя теория состоит в том, чтобы совать тег (в тегах) в новый массив, и если исходное object.tags имеет такое же значение, как новый объект в массиве, поп исходного объекта в новый объект.
Этот подход не удался.
ну ваш код выглядит как javascript. И там у вас есть массив объектов. Поэтому вам нужно будет использовать объектные методы. – floor
@floor Эй извините. Я пытался сделать это через интерфейс, но если это проще сделать с помощью php, я могу настроить задний конец для интерпретации этого API. Благодарю. –
Ваш пример для ожидаемого результата сломан, а также немного странно. Неужели вы хотите, чтобы каждое задание содержало массив объектов? (люди)? – rjdown