このスニペットをコンソールで起動する場合
[0,1,2,3].reduce((acc, val, index) => {
console.log(index);
return acc;
});
あなたは得るでしょう
1
2
3
では、なぜインデックスが1から始まるのかという問題があります。
UPD:おそらく私は非常に基本的なものが欠けていますが、
[0,1,2,3].reduce((acc, val, index, initialValue) => {
console.log(index);
return acc;
});
私にくれます
1
2
3
0
UPD2:そうです、基本的なものが欠けているのは私です。
[0,1,2,3].reduce((acc, val, index) => {
console.log(index);
return acc;
}, 0);
あなたはinitialValue
議論を提供していないからです。ドキュメントから:
no
initialValue
が指定されている場合、配列の最初の要素が使用され、スキップされます
そしてさらに読むと、あなたの質問に対する直接の答えがあります:
注:指定され
initialValue
ていない場合、最初のインデックスをスキップして、reduce()
インデックスから開始してコールバック関数を実行します1
。initialValue
提供されている場合は、インデックスから始まります0
。
詳細はこちら
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加