중복을 제거하여 배열을 매핑하는 방법

모하마드 이므 란

React.js를 사용하고 Relay.js를 사용하여 데이터를 가져오고 다음과 같은 구성 요소에 대한 JSON 응답을 사용하는 응용 프로그램을 개발 중입니다.

{
  outfit(id :"T3V0Zml0Tm9kZTo1") {
    id
    title
    productvariant {
      edges {
        node {
          id
          title
          product {
            edges {
              node {
                id
                brand
              }
            }
          }
        }
      }
    }
  }
}

( github 링크 ) 그리고 다음과 같은 탭의 모든 제품을 매핑하고 있습니다.

<Grid>
  { this.props.outfit.productvariant.edges.map((variantEdge, i) => (
    <Grid.Column mobile={16} tablet={8} computer={12}>
      <Grid.Column mobile={16} tablet={8} computer={12}>
        <article id ={variantEdge.node.id} >
          <header style = {styles.header}>
            <h2>
              {variantEdge.node.title}
            </h2>
          </header>
        </article>
        <Tabs defaultActiveKey={1} id="uncontrolled-tab-example">
          <Tab eventKey={1} title="Tab 1">
            <section style = {styles.row}>
              {variantEdge.node.product.edges.map((productEdge,i) =>(
                <section >
                  <section  >
                    <Card   style = {styles.col23} >
                      <Image src="https://cdn.lookastic.com/beige-dress-shirt/roberto-cavalli-ruffled-cotton-voile-shirt-medium-591164.jpg" />
                        <Card.Content  style = {styles.col23}>
                          <Card.Header>{productEdge.node.title}</Card.Header>
                        </Card.Content>
                      </Card>
                    </section>
                  </section>
                ))}
              </section>

( github 링크 ). 응답에서 볼 수 있듯이 필드 브랜드의 제품이 있습니다. 브랜드를 반복하고 중복을 제거하고 측면 탐색에 매핑하려면 어떻게해야합니까? 특정 제품에 사용할 수있는 모든 브랜드를 표시하는 탭 구성 요소 옆에 측면 탐색 위젯을 갖고 싶습니다.

크리스

위 코드에서 기존 루프를 수정하고 싶다고 가정합니다. 그렇다면 몇 가지 방법을 사용할 수 있습니다.

방법 1 :

이것은 가장 깨끗하고 가장 읽기 쉬운 버전이지만 render()함수 앞과 밖에서 일부 코드를 실행해야 합니다.

var mySet = new Set();
this.props.outfit.productvariant.edges.forEach((variantEdge) => {
  variantEdge.node.product.edges.forEach((productEdge) =>
    mySet.add(productEdge.node.brand);  //add each brand to a Set, which guarantees uniqueness
  });
});

그런 다음 할 수있는 map()내부를 render(). 이것을 교체하십시오 :

{variantEdge.node.product.edges.map((productEdge,i) =>(

이것으로 :

[...mySet].map((productEdge, i) => (

방법 2 :

다음은 사용할 수있는 편리한 원 라이너입니다. 읽기가 쉽지는 않지만 간결한 것을 원한다면 작동합니다.

{variantEdge.node.product.edges.filter((productEdge, i, self) => self.findIndex((p) => {return p.node.brand === productEdge.node.brand}) === i.node.brand).map((productEdge, i) => (

위의 코드는 productEdge.node.brand.


나는 (아마도) 더 나은 성능을 발휘하고 읽기 및 디버그하기 쉬운 이전 방법을 제안합니다. 전체 개체의 복잡성으로 인해 위의 사소한 부분을 놓쳤을 수 있습니다. 그러나 핵심 개념은 잘 작동합니다.

행운을 빕니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jQuery ''매핑 '': 변수 값을 사용하여 배열을 반복하는 방법

분류에서Dev

React를 사용하여 배열을 매핑하는 방법

분류에서Dev

JSX에서 배열 배열을 매핑하는 방법

분류에서Dev

객체 배열을 Q Promise 배열에 매핑하는 방법

분류에서Dev

Python 배열을 NumPy 배열에 매핑하는 방법

분류에서Dev

중복 행을 제거하는 방법

분류에서Dev

중복성을 제거하는 방법

분류에서Dev

중복 열 이름으로 NHibernate 매핑 조인을 처리하는 방법

분류에서Dev

XML 배열의 값을 csv 필드에 매핑하는 방법

분류에서Dev

Angular 8에서 두 배열을 매핑하는 방법

분류에서Dev

입력 필드의 동적 배열을 매핑하는 방법

분류에서Dev

개체 배열을 매핑하는 방법

분류에서Dev

Python으로 배열을 매핑하는 방법

분류에서Dev

배열을 해시에 매핑하는 방법

분류에서Dev

여러 열을 기반으로 중복 값을 제거하는 방법

분류에서Dev

자바 스크립트를 사용하여 배열에서 중복 항목을 제거하는 방법

분류에서Dev

Castor XML 매핑 : 문자열 자식을 매핑하는 방법

분류에서Dev

열 값을 새 SQL 테이블에 복사하고 중복을 제거하고 매핑을 만드는 방법은 무엇입니까?

분류에서Dev

구조체 배열에서 중복 값을 제거하는 방법 C

분류에서Dev

배열 목록에서 중복 파일을 제거하는 방법

분류에서Dev

다차원 배열에서 중복 값을 제거하는 방법

분류에서Dev

Perl 배열에서 인접한 중복 값을 제거하는 방법

분류에서Dev

PHP의 연관 배열에서 중복 항목을 제거하는 방법

분류에서Dev

객체 맵의 배열을 다른 배열에 매핑하는 방법

분류에서Dev

빈 배열을 제거하는 방법

분류에서Dev

PHP 배열을 제거하는 방법

분류에서Dev

Hive : 중복 된 하위 문자열을 제거하는 방법

분류에서Dev

열을 복잡한 개체에 매핑하는 방법

분류에서Dev

Typescript 제네릭 : 배열 항목을 개체 키에 매핑하는 방법

Related 관련 기사

  1. 1

    jQuery ''매핑 '': 변수 값을 사용하여 배열을 반복하는 방법

  2. 2

    React를 사용하여 배열을 매핑하는 방법

  3. 3

    JSX에서 배열 배열을 매핑하는 방법

  4. 4

    객체 배열을 Q Promise 배열에 매핑하는 방법

  5. 5

    Python 배열을 NumPy 배열에 매핑하는 방법

  6. 6

    중복 행을 제거하는 방법

  7. 7

    중복성을 제거하는 방법

  8. 8

    중복 열 이름으로 NHibernate 매핑 조인을 처리하는 방법

  9. 9

    XML 배열의 값을 csv 필드에 매핑하는 방법

  10. 10

    Angular 8에서 두 배열을 매핑하는 방법

  11. 11

    입력 필드의 동적 배열을 매핑하는 방법

  12. 12

    개체 배열을 매핑하는 방법

  13. 13

    Python으로 배열을 매핑하는 방법

  14. 14

    배열을 해시에 매핑하는 방법

  15. 15

    여러 열을 기반으로 중복 값을 제거하는 방법

  16. 16

    자바 스크립트를 사용하여 배열에서 중복 항목을 제거하는 방법

  17. 17

    Castor XML 매핑 : 문자열 자식을 매핑하는 방법

  18. 18

    열 값을 새 SQL 테이블에 복사하고 중복을 제거하고 매핑을 만드는 방법은 무엇입니까?

  19. 19

    구조체 배열에서 중복 값을 제거하는 방법 C

  20. 20

    배열 목록에서 중복 파일을 제거하는 방법

  21. 21

    다차원 배열에서 중복 값을 제거하는 방법

  22. 22

    Perl 배열에서 인접한 중복 값을 제거하는 방법

  23. 23

    PHP의 연관 배열에서 중복 항목을 제거하는 방법

  24. 24

    객체 맵의 배열을 다른 배열에 매핑하는 방법

  25. 25

    빈 배열을 제거하는 방법

  26. 26

    PHP 배열을 제거하는 방법

  27. 27

    Hive : 중복 된 하위 문자열을 제거하는 방법

  28. 28

    열을 복잡한 개체에 매핑하는 방법

  29. 29

    Typescript 제네릭 : 배열 항목을 개체 키에 매핑하는 방법

뜨겁다태그

보관