Zur Navigation

json unique, ähnliche Werte unterdrücken

1 KohbargKrauter

Hallo, ich habe u.a. folgende Daten in einem json-Objekt:


dataImg = [
    {
        "uni": "20001",
        "loc": "hw.17.111",
        "sid": "117"
    },
    {
        "uni": "20002",
        "loc": "hw.17.115",
        "sid": "117"
    },
    {
        "uni": "20003",
        "loc": "hw.17.118",
        "sid": "326"
    },
    {
        "uni": "20003",
        "loc": "hw.17.118",
        "sid": "225"
    },...]

Wie kann ich filtern, dass nur 1 "uni" mit seinen 3 Wertepaaren im json-Objekt bleibt, egal welches von Mehreren (können auch noch öfter als 2x auftauchen).

Vielleicht kann mir jemand einen Tipp geben.
Danke.

Dirk

26.08.2021 23:55

2 Jörg

Ich würde dataImg in einem for...in Loop durchlaufen, und dabei ein uniques Array (hier: uniqueDataImg) neu aufbauen, indem über ein weiteres Array lookup geprüft wird, ob der betreffende Wert der Objekteigenschaft uni dort bereits als Key enthalten ist:

var lookup = [];
var uniqueDataImg = [];
for (var i in dataImg) {
  var uni = dataImg[i].uni;
  if (!(uni in lookup)) {
    lookup[uni] = 1;
    uniqueDataImg.push(dataImg[i]);
  }
}

27.08.2021 09:22 | geändert: 27.08.2021 09:26

3 KohbargKrauter

Ja danke, so klappt es.
Hätte ich auch drauf kommen müssen, manchmal ist man wie vernagelt;-((

27.08.2021 15:37

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]