私はただの値を割り当てるときにオブジェクトを返そうとしているときに、結果が期待通りではなく、ラムダ関数私にオブジェクトではなく値を返します。JavaScriptのラムダ(矢印)関数は、値の割り当ての瞬間にオブジェクトを返します
ここに私の質問を明確にするためには、コードです:
1)間違ったバリアント(私はそれはlilのビット最短だから)
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変種(正しいが、少しはそのような何かを使用したいですビット最長)
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!
この瞬間を理解してもらえますか?私はそれが少しばかげた質問だと信じていますが、とにかく私はどんな情報に対しても非常に感謝しています。ありがとう!
共通イディオムはhttps://stackoverflow.com/questions/42974735を参照してください、 'Object.assign'を返すことです/オブジェクトから配列を作成 – georg
あなたに感謝! – Velidan