Ich frage mich, warum, wenn ich versuche, ein Objekt zurückzugeben, wenn ich sofort einen Wert zuweisen, ist das Ergebnis nicht so, wie ich erwartet hatte und die Lamda-Funktion gibt mir kein Objekt zurück, sondern den Wert.Javascript Lambda (Pfeil) Funktion gibt Objekt in einem Moment eines Werts
Auf meine Frage hier zu klären Code:
1) Falsche Variante (aber ich möchte so etwas verwenden, weil es ein lil bit kürzeste) ist
const a = {
"a" : "a",
"b" : "b",
"c" : "c"
}
const res = Object.keys(a).reduce((res, key) => (res[key] = 0), {});
console.log(res) // result -> 0; but why, does it return an assigning value in that case?
2-Variante (richtig, aber ein wenig Bit am längsten)
const a = {
"a" : "a",
"b" : "b",
"c" : "c"
}
const res = Object.keys(a).reduce((res, key) => { res[key] = 0; return res; }, {});
console.log(res); // { "a" : 0, "b" : 0, "c" : 0 }. It works properly now!
Kann mir bitte jemand helfen, diesen Moment zu verstehen? Ich glaube, dass es eine dumme Frage ist, aber ich werde für jede Information sehr dankbar sein. Vielen Dank!
Ein gemeinsames Idiom ist 'Object.assign' zurückzukehren, siehe https://stackoverflow.com/questions/42974735/create-object-from-array – georg
Danke Freund! – Velidan