reduce()


注意:https://www.zerocho.com/category/JavaScript/post/5acafb05f24445001b8d796d

reduce()

  • アレイ.reduce((累積値、現在値、インデックス、要素)=>{結果を返します}、初期値);
  • const arr = [1, 2, 3];
    let result = arr.reduce((acc, cur, i) => {
      console.log(acc, cur, i);
      return acc + cur;
    }, 0);
    // 0 1 0
    // 1 2 1
    // 3 3 2
    console.log(result); // 6
    
    result = arr.reduce((acc, cur, i) => {
      console.log(acc, cur, i);
      return acc + cur;
    }, 10);
    // 10 1 0
    // 11 2 1
    // 13 3 2
    console.log(result); // 16
    
    // 초기값이 없는 경우(배열이 비어있는데 초기값이 없으면 에러 발생)
    result = arr.reduce((acc, cur, i) => {
      console.log(acc, cur, i);
      return acc + cur;
    });
    // 1 2 1
    // 3 3 2
    console.log(result); // 6

    reduceRight()


    動作は
  • reduce()と同じですが、要素の順序は右から左です.
  • const arr = [1, 2, 3];
    let result = arr.reduce((acc, cur, i) => {
      console.log(acc, cur, i);
      return acc + cur;
    }, 0);
    // 0 3 2
    // 3 2 1
    // 5 1 0
    console.log(result); // 6