Jaeilit

TIL Array.reduce() 본문

TIL

TIL Array.reduce()

Jaeilit 2021. 10. 2. 19:40
728x90

배열메서드 Array.reduce() 는 첫번째 인자로 누산값, 두번째로 현재 값 등등 을 가진다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

 

Array.prototype.reduce() - JavaScript | MDN

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

developer.mozilla.org

사용예제

postDB.get().then((docs) => {
      let post_list = []
      docs.forEach((doc) => {
        let _post = doc.data()

        let post = Object.keys(_post).reduce(
          (acc, cur) => {
            if (cur.indexOf("user_") !== -1) {
              return {
                ...acc,
                user_info: { ...acc.user_info, [cur]: _post[cur] },
              }
            }
            return {
              ...acc,
              [cur]: _post[cur],
            }
          },
          { id: doc.id, user_info: {} }
        )

        post_list.push(post)

        console.log("리듀스사용", post)
        dispatch(setPost(post_list))
      })
    })
    // console.log("pd", postDB)
  }

 

728x90

'TIL' 카테고리의 다른 글

TIL 회원가입 로그인 (fb)  (0) 2021.10.07
TIL 과제1  (0) 2021.10.06
TIL Cookie 사용해보기  (0) 2021.10.01
TIL <defaultProps>  (0) 2021.10.01
TIL(10)리덕스 미들웨어, mapStateToProps  (0) 2021.09.30