Reduce() 메서드 JS 기본 사항이 간소화되었습니다.

reduce() 메서드는 현재 요소에 대한 이전 계산의 반환 값을 사용하여 배열의 각 요소에 대해 콜백 함수를 실행합니다. 최종 결과는 단일 값입니다.

"The first time that the callback is run there is no "return value of the previous calculation". If supplied, an initial value may be used in its place. Otherwise the array element at index 0 is used as the initial value and iteration starts from the next element (index 1 instead of index 0)." (mdn web docs)1



  • Format
  • format 1
  • Format 2: Arrow function
  • format 3


  • Examples
  • Example without initial value set:
  • Example with without initial value set:

  • Link resources

  • 형식:



    형식 1:




    let arrayName = [];
    arrayName.reduce(function functionName(previousValue, currentValue){
        // The function
        return callbackElement;
    }, initialValue)
    


    형식 2: 화살표 함수




    let arrayName = [];
    arrayName.reduce((previousValue, currentValue) => [function to execute here], initialValue)
    


    형식 3:




    let arrayName = [];
    arrayName.reduce(functionName, initialValue)
    
    function functionName(previousValue, currentValue){
        // The function
        return callbackElement;
    }
    


    예:



    초기 값이 설정되지 않은 예:




    const array = [20,1,-1,2,-2];
    
    function reducer(previousValue, currentValue, index) {
      const returns = previousValue + currentValue;
      console.log(`previousValue: ${previousValue}, currentValue: ${currentValue}, index: ${index}, returns: ${returns}`);
      return returns;
    }
    
    console.log("The final solution:", array.reduce(reducer, 30));
    
    //Returns
    > "previousValue: 20, currentValue: 1, index: 1, returns: 21"
    > "previousValue: 21, currentValue: -1, index: 2, returns: 20"
    > "previousValue: 20, currentValue: 2, index: 3, returns: 22"
    > "previousValue: 22, currentValue: -2, index: 4, returns: 20"
    > "The final solution:" 20
    


    초기 값이 설정된 예:




    const array = [20,1,-1,2,-2];
    
    function reducer(previousValue, currentValue, index) {
      const returns = previousValue + currentValue;
      console.log(`previousValue: ${previousValue}, currentValue: ${currentValue}, index: ${index}, returns: ${returns}`);
      return returns;
    }
    
    console.log("The final solution:", array.reduce(reducer, 30));
    
    // Returns:
    > "previousValue: 30, currentValue: 20, index: 0, returns: 50"
    > "previousValue: 50, currentValue: 1, index: 1, returns: 51"
    > "previousValue: 51, currentValue: -1, index: 2, returns: 50"
    > "previousValue: 50, currentValue: 2, index: 3, returns: 52"
    > "previousValue: 52, currentValue: -2, index: 4, returns: 50"
    > "The final solution:" 50
    


    참고: 여기에서 메서드에 초기값을 설정했기 때문에 초기값이 없을 때와 반대로 "index: 0"에서 첫 번째 작업이 발생하는 것을 볼 수 있습니다.

    이것은 reduce() 메서드가 어떻게 작동하는지에 대한 기본적인 설명입니다. 이 방법을 사용하여 수행할 수 있는 작업을 더 많이 연습하고 배울 수 있도록 아래 링크를 확인하는 것이 좋습니다.

    읽어주셔서 정말 감사합니다.

    링크 리소스:



    Array.prototype.reduce()



    Array.prototype.reduce() - javascript: MDN. 자바스크립트 | MDN. (2022년 9월 5일). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce 에서 2022년 9월 8일에 검색함

    좋은 웹페이지 즐겨찾기