it-swarm.com.de

Ruft Werte von einem Objekt in JavaScript ab

Ich habe dieses Objekt:

var data = {"id": 1, "second": "abcd"};

Dies sind Werte aus einem Formular. Ich übergebe dies einer Funktion zur Überprüfung.

Wenn die obigen Eigenschaften existieren, können wir ihre Werte mit data["id"] Und data["second"] Erhalten, aber manchmal können die Eigenschaften basierend auf anderen Werten unterschiedlich sein.

Wie kann ich Werte von data unabhängig von Eigenschaftsnamen abrufen?

59
Hari krishnan

Um auf die Eigenschaften eines Objekts zuzugreifen, ohne die Namen dieser Eigenschaften zu kennen, können Sie ein for ... in loop:

for(key in data) {
    if(data.hasOwnProperty(key)) {
        var value = data[key];
        //do something with value;
    }
}
75
cfs

Wenn Sie dies in einer einzelnen Zeile tun möchten, versuchen Sie Folgendes:

Object.keys(a).map(function(key){return a[key]})
43

In ES2017 können Sie Object.values() verwenden:

Object.values(data)

Zum Zeitpunkt des Schreibens ist der Support begrenzt (Firefox und Chrome).Alle gängigen Browser außer IE unterstützen dies jetzt.

In ES2015 können Sie Folgendes verwenden:

Object.keys(data).map(k => data[k])
34
trincot

Wenn du $ ist definiert, dann können Sie iterieren

var data={"id" : 1, "second" : "abcd"};
$.each(data, function() {
  var key = Object.keys(this)[0];
  var value = this[key];
  //do something with value;
}); 

Sie können auf folgende Weise darauf zugreifen, wenn Sie die Werte von Schlüsseln kennen

data.id

oder

data["id"]
11
user3118220

Es tut mir leid, dass Ihre abschließende Frage nicht so klar ist, aber Sie liegen von Anfang an falsch. Die variablen Daten sind ein Objekt kein Array

Der Zugriff auf die Attribute eines Objekts ist ziemlich einfach:

alert(data.second);

Wenn dies Ihre Frage jedoch nicht vollständig beantwortet, klären Sie sie bitte und senden Sie sie zurück.

Vielen Dank !

5
Cooshal

Mit lodash_.values(object)

_.values({"id": 1, "second": "abcd"})

[ 1, 'abcd' ]

lodash enthält eine ganze Reihe weiterer Funktionen für die Arbeit mit Arrays, Objekten, Sammlungen, Zeichenfolgen und mehr, in die Sie möchten JavaScript (und scheinen tatsächlich langsam in die Sprache einzudringen).

4
cs01