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

home2 게시판 JavaScript, TS 게시판 javascript, 장바구니 localStorage 데이터 수정 질문

javascript, 장바구니 localStorage 데이터 수정 질문

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

    강선영
    참가자
    안녕하십니까 슨상님, 제 미천한 실력과 구글 검색으론 도저히 해결이 안되어서 질문 드립니다.
    지금 장바구니 기능과 localStorage 숙제 - 응용 2를 만들고 있는데 객체배열을 로컬에 추가하고 중복을 제거하는 것까지는 됩니다.
    var prodArr[{title: 'products', num: 1}] 형태로 로컬에 저장중인데 뒤에 장바구니에 담긴 수량인 num를 변경하는 게 안됩니다.
    
    요건 코드입니다.
    var prodArr = [];
                $('.buy').click(function (e) {
                    var prodName = $(e.target).siblings('h5').html();
                    if (Array.isArray(prodArr) && prodArr.length === 0) {
                        prodArr.push({ title: prodName, num: 1 });
                        localStorage.setItem('cart', JSON.stringify(prodArr));
                    } else {
                        var takeOut = JSON.parse(localStorage.getItem('cart'));
                        if (takeOut.some((v) => v.title === prodName)) {
                            console.log('중복', takeOut.num);
                         takeOut[0].num = takeOut[0].num + 1;  <-- 요 부분이 문제입니다. 어떤 방식으로 만들어야 구매버튼을 클릭한 상품의 객체안의 수량을 변경할 수 있습니까(일단 0번째 인덱스만 받아왔습니다)
                            localStorage.setItem('cart', JSON.stringify(takeOut));
                        } else if (takeOut.some((v) => v.title !== prodName)) {
                            takeOut.push({ title: prodName, num: 1 });
                            localStorage.setItem('cart', JSON.stringify(takeOut));
                            /* takeOut.push(prodName);
                            localStorage.setItem('cart', JSON.stringify(takeOut)); */
                        }
                    }
                    console.log(prodArr);
                });
    #56246

    codingapple
    키 마스터
    장바구니 안에 [{}, {}, {} ] 이런 식으로 여러개 들어있을텐데 
    장바구니 안에 title이 prodName인게 몇번째인지 찾읍시다 find아니면 findIndex이런 함수쓰면 될듯요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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