[一日学習,JS]reduce基本概念


私は公式文書を見て、よく理解していないので、勝手に何かを探しました.
reduce()解析器の基本概念のみを論じた.
まず、1から4までのすべての配列を追加する必要があります.
[1, 2, 3, 4].reduce((a, c) => (a + c), 0)
関数の1番目のビットaは累積値を表し、cは要素の各現在値を表す.
最後の0は初期値を表し、
累積値aの初期値として使用されます.
a: 0, c: 1
値がこのようになり、a+c関数として計算される場合、順序
a: 1, c: 2
a: 3, c: 3
a: 6, c: 4
このように計算すると,戻り値は6+4,最後は10となる.
こちらです.
[1, 2, 3, 4].reduce((a, c) => (a + c), 0) / [1, 2, 3, 4].length
これにより平均値を求めることもできる.
自分が理解できるように、今度乗じます.
[1, 2, 3, 4].reduce((a, c) => (a * c), 1) // 0으로 곱하면 모두 0으로 나와서 1로 바꿨습니다.
a: 1, c: 1
a: 1, c: 2
a: 2, c: 3
a: 6, c: 4
最終的な戻り値は24です.
reduceでは、配列をオブジェクトに切り替えることもできます.
アレイ内のメソッドはほとんどreduceで置き換えることができます.
配列をオブジェクトに置き換えるにはreduceを使用します.
['철수', '영희', '민지', '선미'].reduce((a, c, i) => { a[i] = c; return a }, {});
aが累積値であり、cが要素の現在値である場合、iはインデックス番号を表す.
a:{},c:“元に戻す”,i:0
a:「撤退」},c:「英姫」,i:1
a:「哲秀」,1:「英姫」},c:「敏智」,i:2
a:「哲秀」,1:「英姫」,2:「敏智」},c:「宣美」,i:3
最終的な戻り値はa:{0:“哲秀”,1:“英姫”,2:“敏智”,3:“宣美”}であった.
初期値が入力されていない場合、アレイの最初の要素値が初期値になります.
最初の要素が初期値である場合、関数の2番目のビットのcは1から開始されません.
2から3回繰り返します.
[1, 2, 3, 4].reduce((a, c) => (a + c))
a: 1, c: 2
a: 3, c: 3
a: 6, c: 4
こうなる!
現在、reduceを使用するのは、アレイの数を増やしたり減らしたりするためだけです.
以降、配列をオブジェクト、オブジェクトを配列として使用できます.
練習すると思います.