• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Vue 게시판 안녕하십니까? 코드 문의 드립니다.

안녕하십니까? 코드 문의 드립니다.

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #29160

    정재용
    참가자

    안녕하십니까? 수고 많으십니다.

    주옥 같은 강의 정말  감동하며 잘 완강하였습니다. 

    강의를 듣고 연습용 개인 프로젝트를 통해 복습을 하는데 구글링 등 많은 시간을 들여도 해결이 안되어 부득이 여쭤봅니다.

    문의 내용은 다음과 같습니다.

    상품을 클릭하면 cart.js라는 파일에 [ {}, {}, {}...... ] 이런식으로 data가 추가되게 구현하였습니다. 즉 상품을 클릭하면 오브젝트형 배열 데이터가 추가되는 식으로.......

    여기서 배열 요소 중 '가격'이 있는데 이 가격만 합계를 구하는 방법을 해보고 싶은데 잘 안되어서 문의드립니다.

    예)

    [{ 상품 : 컵라면, 수량 : 1, 가격 : 1,200원 } { 상품 : 컵밥, 수량 : 1, 가격 : 2,200원 } {상품 클릭 시 추가 될 수 있음}.......]

    그런데 배열의 요소중에 가격만 합산해서 구하고 싶습니다. 합계 3,400원 이런식으로

    코드 중 핵심 부분만 추출하면 다음과 같습니다.

    =============================================

    합계 <button @click="total">합계 </button>

    상품 클릭 시 carting 함수 동작 부분 생략(상품의 title과 number와 price데이터가 cart.js로 전달)

    import cart from './assets/cart.js';

      methods: {
        carting () {
          var add = {
            title: this.cart_title,
            number: this.cart_num,
            price: this.cart_price

          };
        this.cart.unshift(add);  
        },

      total () { // 이부분이 궁금합니다. ㅠㅠ
          this.cart.price.reduce((a, b) => { a + b; }, 0);
            }
         },
    구글링해서 제일 비슷한게 자바스크립트의 reduce를 사용하는 것이 비슷할 것 같아서 해보았는데...

    잘 안되는 것 같습니다.

    초보인데 너무 무리한 연습을 하는 건 아닌지 모르겠습니다.

    답변 해야할 양이 많으면 참고할만한 사이트(URL)라도 알려주시면 감사하겠습니다.

    #29177

    codingapple
    키 마스터

    가격을 1200원이라는 문자 말고 1200 이렇게 숫자로 깔끔하게 저장해야 나중에 계산이 편리합니다

    total 함수 실행시 변수를 하나 만들고

    cart[0].price를 변수에 더하고

    cart[1].price를 변수에 더하고

    cart[2].price를 변수에 더하고

    계속 해달라하고 마지막에 변수를 어디에 출력하거나 그러면 됩니다 길어지면 반복문 쓰면 됩니다 

     

    #29236

    정재용
    참가자

    답변 감사드립니다.

    조언해주신 내용을 바탕으로 해결해보겠습니다.

     

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠