Rumah > Soal Jawab > teks badan
P粉9094764572023-08-19 12:39:09
Anda mempunyai dua soalan, yang pertama ialah updateDirectHelper
函数没有返回任何内容。虽然在这个函数中有一个return
语句,但实际上它是嵌套在reduce
的回调函数(updateClause, [key, value]) => {
中,而不是updateDictHelper
anda sendiri.
Satu lagi soalan anda ialah bagaimana untuk mendapatkan nilai awal untuk acc
提供默认值。Reduce原生支持可选的第二个参数,该参数将作为acc
.
reduce(callbackFn, initialValue)
Pendekatan terbaik ialah memberikan nilai awal apabila boleh. Jika anda tidak memasukkannya, fungsi panggil balik .reduce()
将跳过回调的第一个调用,并从将acc
设置为数组中的第一个值开始调用回调函数,并将第二个参数设置为数组中的第二个值。如果您的数组只有一个值,例如在您的情况下,那么这个单个值就是从.reduce()
调用中返回的值,并且您的.reduce()
tidak akan dipanggil:
const arrayWithOneElement = [1]; const res = arrayWithOneElement.reduce(() => { console.log("I never run"); }); // 注意没有第二个参数 console.log(res);