557 Stimmen

For..In-Schleifen in JavaScript - Schlüssel-Wert-Paare

Ich habe mich gefragt, ob es eine Möglichkeit gibt, so etwas wie eine PHP foreach Schleife in JavaScript. Die Funktionalität, die ich suche, ist so etwas wie dieses PHP-Snippet:

foreach($data as $key => $value) { }

Ich habe mir die JS for..in Schleife, aber es scheint keine Möglichkeit zu geben, die as . Wenn ich dies mit einer "normalen" for-Schleife mache ( for(var i = 0; i < data.length; i++ ), gibt es eine Möglichkeit, die Schlüssel => Wertpaare zu erfassen?

5voto

David Punkte 16960

In den letzten paar Jahren, seit diese Frage gestellt wurde, hat Javascript einige neue Funktionen hinzugefügt. Eine davon ist die Objekt.Einträge Methode.

Der folgende Codeschnipsel wurde direkt aus MDN kopiert

const object1 = {
  a: 'somestring',
  b: 42
};

for (let [key, value] of Object.entries(object1)) {
  console.log(`${key}: ${value}`);
}

3voto

Stephen Murby Punkte 1297

ES6 bietet Map.prototype.forEach(callback), das wie folgt verwendet werden kann

myMap.forEach(function(value, key, myMap) {
                        // Do something
                    });

1voto

Richard Dalton Punkte 34883

Dazu können Sie eine "for in"-Schleife verwenden:

for (var key in bar) {
     var value = bar[key];
}

1voto

Aidamina Punkte 1834

Im Folgenden finden Sie ein Beispiel, das dem am nächsten kommt.

for(var key in data){
  var value = data[key];    
  //your processing here
}

Wenn Sie jQuery verwenden, siehe: http://api.jquery.com/jQuery.each/

1voto

Gil Epshtain Punkte 7072

Wenn Sie Folgendes verwenden Lodash können Sie verwenden _.forEach

_.forEach({ 'a': 1, 'b': 2 }, function(value, key) {
  console.log(key + ": " + value);
});
// => Logs 'a: 1' then 'b: 2' (iteration order is not guaranteed).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X