Würde jemand wissen, wie wiederholte Daten aus einem Array von Objekten herausgefiltert werden? Ich habe eine einfache Eltern- und Kinderliste. Die Child-Liste hat ein Feld mit der ID des Elternteils. HierSo erhalten Sie eindeutige Felder während einer Jquery Ajax-Anforderung
ist ein exmaple von dem, was mein Kind Daten wie folgt aussieht:
responseText: {
d: {
results: [{
ID_of_parent: "17",
Day_or_night: "day",
Start: "2016-06-01 08:00",
End: "2016-06-01 10:00",
Hours: "2"
}, {
ID_of_parent: "17",
Day_or_night: "day",
Start: "2016-06-01 13:00",
End: "2016-06-01 14:00",
Hours: "1"
}, {
ID_of_parent: "17",
Day_or_night: "night",
Start: "2016-06-01 21:00",
End: "2016-06-01 22:00",
Hours: "1"
}, {
ID_of_parent: "22",
Day_or_night: "day",
Start: "2016-06-01 09:00",
End: "2016-06-01 10:00",
Hours: "1"
}, {
ID_of_parent: "22",
Day_or_night: "day",
Start: "2016-06-01 14:00",
End: "2016-06-01 15:00",
Hours: "1"
}, {
ID_of_parent: "54",
Day_or_night: "day",
Start: "2016-06-01 13:30",
End: "2016-06-01 16:00",
Hours: "2.5"
}]
}
}
Und hier ist die Mutter Daten:
responseText: {
d: {
results: [{
ID: "17",
description: "Description 1"
}, {
ID: "22",
description: "Description 2"
}, {
ID: "34",
description: "Description 3"
}, {
ID: "54",
description: "Description 4"
}]
}
}
Was im simply zu erreichen versuchen, ist das Kind zu bekommen Daten auflistet über Ajax dann foreach, entfernen Sie die doppelten IDs und dann bekomme ich die Eltern-ID. Im Moment ist es das, was ich bisher:
$.ajax({
url:"Child_list_path",
dataType: "json",
cache: false,
success: function (child) {
$.each(child.d.results, function (index, children) {
$.ajax({
url: parent_list_path("+children.Incident_ID+")",//filter by ID
dataType : 'json',
cache : false,
success : function (parent) {
//stuff
}
});//end of inner ajax
});//end of each
}//sucess end
});
Problem dabei ist, dass das in den Kinder Daten können mehrere Einträge vorhanden sein, dass die gleichen Eltern-ID haben. Was also während der einzelnen Sequenzen passiert, ist, dass die gefilterten Elterndaten mehrmals für die gleiche ID abgerufen werden, wenn ich nur die Daten für jede eindeutige ID abrufen muss.
EDIT: Mein Ziel ist in der Lage, wiederholte ID_of_parent in den Kinddaten zu filtern. Anstatt also 17,17,17,22,22,54 durchzuschleifen, möchte ich nur, dass es durch 17,22,54 läuft.
Was sind die erwarteten Ergebnisse? Gibt API auch dieselben untergeordneten Daten für jede Anforderung zurück? Es scheint seltsam, dass Sie eine bestimmte ID an "parent_list_path()" angeben, aber eine Antwort mit anderen IDs erhalten. – charlietfl
Ich brauche es nur, um jedes Mal eindeutige IDs zurückzugeben, damit ich die ID_of_parent des entsprechenden Elterndaten-Kindes bekommen kann. Also ich erwarte, einfach 17, 22, 54 zurückzugeben. –
Also müssen Sie Antwort auf Extract ID nur zuordnen? Als Array? Ziel immer noch nicht ganz klar – charlietfl