스프링링링
611
2021-06-21 11:49:45 작성 2021-06-21 11:51:40 수정됨
4
215

조건문 짜는것 좀 봐주세요 ..


안녕하세요 . 

같은 num를 가진 score끼리 더해주는 조건문을 짜려고하는데

조건문을 어떻게 넣어야할지 모르겠습니다ㅠㅠ

생초보라서 ,, 같은num 를 가진 애들끼리만 더하려고 하는 말을 어떻게 표현해야할까요..?

감사합니다 (언어는 자바스크립트입니다)


num 는 ____1, ____2 , ~ 이런식으로 번호 형태로 되어있습니다

0
  • 답변 4

  • 초보킴
    300
    2021-06-21 12:07:44
    저도 초보지만 제 생각엔 DB에서 GROUP BY 로 묶어서 SUM 해주는 방법이 더 좋을것같습니다.
  • 초보킴
    300
    2021-06-21 12:09:41 작성 2021-06-21 12:10:17 수정됨

    만약 javascript로만 해야한다면 조금 복잡할것 같지만

    중복제거 한 array를 만들고 num기준으로 비교해서 SUM해주면 될 것 같습니다.


    제가 말씀드린게 정답이 아닐수도 있으니 참고만 해주세요~

  • ihangoon
    307
    2021-06-21 12:45:33

    원본 데이터의 형식이나 출력 형식을 잘 모르겠지만 아래와 같이 scores 데이터가 있다고 하면

    map을 써서 합계를 구할 수 있을 것 같긴 합니다.

    var result = {};
    
    var scores = [
    { 'num' : 1, 'score' : 10 }, 
    { 'num' : 1, 'score' : 20 },
    { 'num' : 2, 'score' : 30 }, 
    { 'num' : 2, 'score' : 40 },
    { 'num' : 3, 'score' : 50 }, 
    { 'num' : 3, 'score' : 10 }
    ];
    
    scores.map(function (v) {
    	if (result[v.num]) {
      	result[v.num] += v.score;
      } else {
      	result[v.num] = v.score;
      }
    })
    
    console.log(result);
    
    • { 1: 30, 2: 70, 3: 60 }

  • 스프링링링
    611
    2021-06-21 13:06:22

    감사합니다 ㅠㅠ 한번 해볼게요!

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