킴쏘영
818
2020-11-16 09:46:18
6
299

html 테이블을 만들기 질문드립니다. (;_;)



var jsonList =[{
  “report”: “D”,
  "id": “id1”,
  "name": “김유리”,
  "class" : 1
},
{
  "report": “C”,
  "id": "id1”,
  "name": “김유리”,
  "class" : 1
},
{
  "report": “A”,
  "id": “id2”,
  "name": “박지윤”,
  "class" : 3
}
,{
  "report": “A”,
  "id": “id3”,
  "name": “최지영”,
  "class" : 2
}
,{
  "report": “F”,
  "id": “id3”,
  "name": “최지영”,
  "class" : 2
}
,{
  "report": “C”,
  "id": “id2”,
  "name": “박지윤”,
  "class" : 3
}
,{
  "report": “F”,
  "id": “id2”,
  "name": “박지윤",
  "class" : 3
}]


위와같은 json array가 있는데

이름은 중복이 제거되서 세로 항목으로 나와야하고

리포트 갯수만큼 가로로 출력되어야 하는데..

어떤 식으로 조건을줘야할까요?

ㅜㅜ 

<result>



0
  • 답변 6

  • 시닙이
    1k
    2020-11-16 10:16:02
    id로 그룹핑하신다음 그리시며 될듯합니다. 
  • 두꺼비개발자
    796
    2020-11-16 10:18:16

    만약 저라면 위 JSON 내용을 아래와 같이 파싱하여 반복문을 돌릴 것 같아요.

    jsonList.reduce((acc, cur) => {
    if (!acc[cur.name]) {
    return {
    ...acc,
    [cur.name]: [cur],
    }
    }

    return {
    ...acc,
    [cur.name]: [...acc[cur.name], cur],
    };
    }, {})


  • 킴쏘영
    818
    2020-11-16 10:34:07

    @뚠뚠이개발자  

    감사합니다 ㅜㅜ 뭔가 이름별로 묶여서 리스트가 만들어졌어요!

    반복문은 어떤식으로 돌리면 가로로출력될까요?ㅜ

  • 킴쏘영
    818
    2020-11-16 10:34:40

    @시닙이 

    네 ㅠ 뭔가 아랫분이 알려주신 리듀스 함수로 하니깐 묶였어요 ㅎ!

  • 시닙이
    1k
    2020-11-16 11:57:35

    네네 동명이인 있을수도있으니 뚠뚠이개발자님 코드에서 name만 id 로 변경하세용 ㅎㅎ 

  • 킴쏘영
    818
    2020-11-16 13:26:34

    @시닙이

    근데 어떤식으로 가로로 출력해야할까요 ? 테이블은 위에서 아래로 보통 그리는데 ㅜㅜ

  • 로그인을 하시면 답변을 등록할 수 있습니다.