Forum: PC-Programmierung Javascript jQuery Frage


von Stefan S. (energizer)


Lesenswert?

Hallo,

ich bastel gerade etwas am Volkszähler herum, und habe ein kleines 
Javascript- / jQueryproblem.

Gegeben ist eine (json) Liste:

[
  {
    "name"      : "Peter",
    "value"      : "Test1"
  },
  {
    "name"      : "Hans",
    "value"      : "Test2"
  },
  {
    "name"      : "Franz",
    "value"      : "Test3"
  }
]

Nun kann man ja mit jQuery schön durch Listen iterieren 
(meineliste.each), aber ich möchte den value für einen gegebenen Namen 
haben, Pseudocode:

myvalue = meineliste[name="Hans"]

Weiß das gerade jemand auf die Schnelle?

Schöne Grüße
Stefan

: Verschoben durch User
von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Es gibt auch eine Variante für "nicht jquery objekte":
http://api.jquery.com/jQuery.each/
1
$.each(meineliste, function(key, value) { 
2
  alert(key + ': ' + value); 
3
});

von jQuery.each (Gast)


Lesenswert?

1
var list = [
2
  {
3
    "name"      : "Peter",
4
    "value"      : "Test1"
5
  },
6
  {
7
    "name"      : "Hans",
8
    "value"      : "Test2"
9
  },
10
  {
11
    "name"      : "Franz",
12
    "value"      : "Test3"
13
  }
14
],
15
16
getValue = function (key, list) {
17
   var value;
18
19
    $.each(list, function () {
20
        if (this.name === key) {
21
            value = this.value;
22
            return false;
23
        }
24
    });
25
26
    return value;
27
};
28
29
getValue('Hans', list);

von Stefan (Gast)


Lesenswert?

Ok, das heißt ich muß in jedem Fall die Liste durchgehen und schauen ob 
der Schlüssel stimmt. Vielen Dank für die Antworten!

Gruß
Stefan

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Stefan schrieb:
> Ok, das heißt ich muß in jedem Fall die Liste durchgehen
> und schauen ob der Schlüssel stimmt
Oder die Datenstruktur anders aufbauen...
1
{
2
  "Peter": {
3
    "name"      : "Peter",
4
    "value"      : "Test1"
5
  },
6
  "Hans": {
7
    "name"      : "Hans",
8
    "value"      : "Test2"
9
  },
10
  "Franz": {
11
    "name"      : "Franz",
12
    "value"      : "Test3"
13
  }
14
}
 Dann kast du auch per key zugreifen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.