Mehrere Werte in JavaScript zurückgeben?
Ich versuche, in JavaScript zwei Werte zurückzugeben. Ist das möglich?
var newCodes = function() {
var dCodes = fg.codecsCodes.rs;
var dCodes2 = fg.codecsCodes2.rs;
return dCodes, dCodes2;
};
754
3
Nein, aber Sie könnten ein Array mit Ihren Werten zurückgeben:
Dann können Sie auf sie wie folgt zugreifen:
Mit der neuesten ECMAScript 6-Syntax* können Sie den Rückgabewert auch intuitiver destrukturieren:
Wenn Sie jeden der zurückgegebenen Werte mit "Etiketten" versehen wollen (leichter zu pflegen), können Sie ein Objekt zurückgeben:
Und um auf sie zuzugreifen:
Oder mit ES6-Syntax:
Ab Javascript 1.7 können Sie dies mit "destructuring assignments" tun. Beachten Sie, dass diese in älteren Javascript-Versionen nicht zur Verfügung stehen (d.h. weder mit ECMAScript 3rd noch 5th Edition).
Es erlaubt Ihnen, 1+ Variablen gleichzeitig zuzuweisen:
Sie können auch Objektdestrukturierung kombiniert mit Eigenschaftswertkürzel verwenden, um die Rückgabewerte in einem Objekt zu benennen und die gewünschten Werte auszuwählen:
Und übrigens, lassen Sie sich nicht von der Tatsache täuschen, dass ECMAScript die Rückgabe von 1, 2, ...
erlaubt. Was dort wirklich passiert, ist nicht das, was man vermuten könnte. Ein Ausdruck in einer Return-Anweisung -
1, 2, 3- ist nichts anderes als ein Komma-Operator, der nacheinander auf numerische Literale (
1,
2und
3) angewandt wird und schließlich den Wert des letzten Ausdrucks -
3- auswertet. Deshalb ist
return 1, 2, 3funktionell identisch mit nichts anderem als
return 3`.Geben Sie einfach ein Objektliteral zurück