중첩 배열의 각 항목에 대해 lodash에서 그룹화하는 방법

나의

다음과 같은 형식의 json 배열이 있습니다.

    [{
        "published": true,
        "tags": ["tag1", "tag2"],
        "categories": ["cat1"],
        "author": "some name",
        "post-format": "standard",
        "title": "Second Post,",
        "url-slug": "second-post",
        "first-published-on": "2019-03-28",
        "last-updated-on": "2019-03-28",
        "meta": {
            "title": "Second Post",
            "description": "Second post."
        },
        "excerpt": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt",
        "path": "2019/03/28/SecondPost.md"
    }, {
        "published": true,
        "tags": ["tag1", "tag2", "tag3"],
        "categories": ["cat1", "cat2"],
        "author": "some name",
        "post-format": "standard",
        "title": "Getting Started",
        "url-slug": "getting-started",
        "first-published-on": "2019-03-20",
        "last-updated-on": "2019-03-20",
        "meta": {
            "title": "Getting Started",
            "description": "Getting started post."
        },
        "excerpt": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt",
        "path": "2019/03/20/GettingStarted.md"
    }]

아래 형식으로 태그별로 그룹화하고 싶습니다.

[{
   "tag1": [{...}, {...}], 
   "tag2": [{...}, {...}], 
   "tag3": [{...}]
}]

lodash를 사용하여 그렇게하려고했습니다.

const groupedByTag = _.groupBy(blogMetadata, function(postmetadata) {
        postmetadata.tags.map(tag => {
          return tag
        })
      })

분명히 위의 코드는 올바르지 않으며 작동하지 않습니다. 많은 진전없이 관련 게시물 을 살펴 보았습니다 . 도움을 주시면 감사하겠습니다.

brk

reduce& forEach를 대신 사용할 수 있습니다 loadash. 내부 감소 콜백 함수 는이 이름으로 tags존재하는 경우 누산기 객체를 반복 하고 확인합니다 key. 존재한다면 현재 객체를 푸시하고 그렇지 않으면 생성 key하고 푸시합니다.value

let data = [{
  "published": true,
  "tags": ["tag1", "tag2"],
  "categories": ["cat1"],
  "author": "some name",
  "post-format": "standard",
  "title": "Second Post,",
  "url-slug": "second-post",
  "first-published-on": "2019-03-28",
  "last-updated-on": "2019-03-28",
  "meta": {
    "title": "Second Post",
    "description": "Second post."
  },
  "excerpt": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt",
  "path": "2019/03/28/SecondPost.md"
}, {
  "published": true,
  "tags": ["tag1", "tag2", "tag3"],
  "categories": ["cat1", "cat2"],
  "author": "some name",
  "post-format": "standard",
  "title": "Getting Started",
  "url-slug": "getting-started",
  "first-published-on": "2019-03-20",
  "last-updated-on": "2019-03-20",
  "meta": {
    "title": "Getting Started",
    "description": "Getting started post."
  },
  "excerpt": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt",
  "path": "2019/03/20/GettingStarted.md"
}];

let newMapped = [data.reduce(function(acc, curr) {
  curr.tags.forEach(function(item) {
    if (acc[item]) {
      acc[item].push(curr)
    } else {
      acc[item] = [curr]
    }

  })
  return acc;
}, {})];


console.log(newMapped)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

LESS CSS에서 배열의 각 항목에 대해 수행하는 방법

분류에서Dev

중첩 세트의 각 그룹에서 하나의 항목을 검색하는 방법

분류에서Dev

JavaScript의 중첩 배열에 항목을 추가하는 방법

분류에서Dev

Scala Spark에서 그룹의 각 값을 해당 그룹의 행 수로 그룹화하고 나누는 방법

분류에서Dev

Postgresql에서 중첩 배열의 중복 값으로 그룹화하는 방법은 무엇입니까?

분류에서Dev

각 js에서 중첩 배열을 인쇄하는 방법

분류에서Dev

각도 8의 객체 배열에서 그룹화하는 방법

분류에서Dev

NavigationView 조각에 중첩 된 ViewPager 조각의 항목에 대한 클릭 이벤트에서 Activity containerViewId를 얻는 방법은 무엇입니까?

분류에서Dev

XSL FO의 특정 열 그룹에 대해 중첩 열을 동적으로 생성하는 방법

분류에서Dev

jQuery : 배열의 각 항목에 대한 변수를 만드는 방법

분류에서Dev

Lodash에서 중첩 배열의 합집합을 만드는 방법

분류에서Dev

jqgrid의 각 그룹에 대한 요약 바닥 글로 그룹화를 활성화하는 방법

분류에서Dev

초기화 된 배열의 각 항목에 대한 키 이름을 설정하는 방법

분류에서Dev

그룹화 된 쿼리의 각 범주에 대해 "최상의"행을 선택하는 우아한 방법

분류에서Dev

rethinkdb에서 배열의 각 값에 대해 조인을 수행하는 방법

분류에서Dev

해시 배열을 그룹화하고 키워드 뒤에 중첩 배열을 만드는 방법은 무엇입니까?

분류에서Dev

각 항목에 대해 최근 10 명의 방문자를 얻는 방법

분류에서Dev

문자열에있는 배열 항목의 각 인스턴스에 대해

분류에서Dev

중첩 된 대화 조각에서 데이터를 전달하는 방법

분류에서Dev

중첩 된 각 배열에서 공통 속성을 제거하는 방법

분류에서Dev

Rails에서 그룹화 한 후 중첩 된 배열 키를 처리하는 방법은 무엇입니까?

분류에서Dev

AngularJS보기에 항목을 표시하기 위해 개체의 항목을 그룹화 / 구성하는 방법

분류에서Dev

중첩 배열에서 고유 항목을 반환하는 방법

분류에서Dev

Phyton : ID별로 그룹화 된 각 열에 대해 n 개의 가장 큰 값의 평균을 얻는 방법

분류에서Dev

데이터 프레임 목록 내에서 하나의 열에 대해 그룹화하는 방법

분류에서Dev

Logic Apps의 중첩 된 Json 배열에서 항목을 반복하고 추출하는 방법

분류에서Dev

PHP의 중첩 배열에서 항목을 제거하는 방법은 무엇입니까?

분류에서Dev

배열에서 항목을 각도로 출력하는 방법

분류에서Dev

MongoDB의 각 고유 값에 대한 최대 날짜로 문서를 그룹화하고 가져 오는 방법

Related 관련 기사

  1. 1

    LESS CSS에서 배열의 각 항목에 대해 수행하는 방법

  2. 2

    중첩 세트의 각 그룹에서 하나의 항목을 검색하는 방법

  3. 3

    JavaScript의 중첩 배열에 항목을 추가하는 방법

  4. 4

    Scala Spark에서 그룹의 각 값을 해당 그룹의 행 수로 그룹화하고 나누는 방법

  5. 5

    Postgresql에서 중첩 배열의 중복 값으로 그룹화하는 방법은 무엇입니까?

  6. 6

    각 js에서 중첩 배열을 인쇄하는 방법

  7. 7

    각도 8의 객체 배열에서 그룹화하는 방법

  8. 8

    NavigationView 조각에 중첩 된 ViewPager 조각의 항목에 대한 클릭 이벤트에서 Activity containerViewId를 얻는 방법은 무엇입니까?

  9. 9

    XSL FO의 특정 열 그룹에 대해 중첩 열을 동적으로 생성하는 방법

  10. 10

    jQuery : 배열의 각 항목에 대한 변수를 만드는 방법

  11. 11

    Lodash에서 중첩 배열의 합집합을 만드는 방법

  12. 12

    jqgrid의 각 그룹에 대한 요약 바닥 글로 그룹화를 활성화하는 방법

  13. 13

    초기화 된 배열의 각 항목에 대한 키 이름을 설정하는 방법

  14. 14

    그룹화 된 쿼리의 각 범주에 대해 "최상의"행을 선택하는 우아한 방법

  15. 15

    rethinkdb에서 배열의 각 값에 대해 조인을 수행하는 방법

  16. 16

    해시 배열을 그룹화하고 키워드 뒤에 중첩 배열을 만드는 방법은 무엇입니까?

  17. 17

    각 항목에 대해 최근 10 명의 방문자를 얻는 방법

  18. 18

    문자열에있는 배열 항목의 각 인스턴스에 대해

  19. 19

    중첩 된 대화 조각에서 데이터를 전달하는 방법

  20. 20

    중첩 된 각 배열에서 공통 속성을 제거하는 방법

  21. 21

    Rails에서 그룹화 한 후 중첩 된 배열 키를 처리하는 방법은 무엇입니까?

  22. 22

    AngularJS보기에 항목을 표시하기 위해 개체의 항목을 그룹화 / 구성하는 방법

  23. 23

    중첩 배열에서 고유 항목을 반환하는 방법

  24. 24

    Phyton : ID별로 그룹화 된 각 열에 대해 n 개의 가장 큰 값의 평균을 얻는 방법

  25. 25

    데이터 프레임 목록 내에서 하나의 열에 대해 그룹화하는 방법

  26. 26

    Logic Apps의 중첩 된 Json 배열에서 항목을 반복하고 추출하는 방법

  27. 27

    PHP의 중첩 배열에서 항목을 제거하는 방법은 무엇입니까?

  28. 28

    배열에서 항목을 각도로 출력하는 방법

  29. 29

    MongoDB의 각 고유 값에 대한 최대 날짜로 문서를 그룹화하고 가져 오는 방법

뜨겁다태그

보관