P粉9094764572023-08-19 12:39:09
問題が 2 つあります。1 つ目は、updateDirectHelper
関数が何も返さないことです。この関数には return
ステートメントがありますが、実際には reduce
(updateClause, [key, value]) => {
にネストされたコールバック関数です。 updateDictHelper
自体の代わりに。
もう 1 つの質問は、acc
にデフォルト値を指定する方法です。 Reduce は、 オプションの 2 番目のパラメーター をネイティブにサポートしており、これは acc
の初期値として使用されます。
最良の方法は、可能な限り初期値を指定することです。これを含めない場合、.reduce()
はコールバックの最初の呼び出しをスキップし、配列の最初の値に acc
を設定してコールバック関数の呼び出しを開始します。 2 番目のパラメータを配列内の 2 番目の値に設定します。あなたの場合のように、配列に値が 1 つだけある場合、この 1 つの値は .reduce()
呼び出しから返される値であり、.reduce()
コールバック関数決して呼び出されません: