2. 아니면 같은 상품 구매 누르면 상품 갯수가 올라가게?
응용 문제 코드 짜기 성공은 했는데 두 가지 경우에서 하나는 잘 작동하고
하나는 안되는 이유를 모르겠습니다!
잘되는 코드
var 검사 =[]
$(".buy").on('click', (e) => {
var title=$(e.target).siblings('h5').html();
var product = {상품명:title , 갯수:1}
if(localStorage.getItem('cart') != null){
var 꺼낸거 = JSON.parse(localStorage.cart);
꺼낸거.forEach((item)=>{
if(검사.includes(title)){
if(item.상품명 == title){
item.갯수++
localStorage.setItem('cart',JSON.stringify(꺼낸거));
}
}else{
검사.push(title);
꺼낸거.push(product);
localStorage.setItem('cart',JSON.stringify(꺼낸거));
}
})
}else{
localStorage.setItem('cart',JSON.stringify());
검사.push(title);
}
})
제품이 중복 저장되는 코드
다른 부분은 잘되는 코드와 동일하며 forEach에서 if문의 조건만 다르고 로컬에는 이런식으로 저장됩니다.
if(검사.includes(title) && item.상품명 == title){
item.갯수++
localStorage.setItem('cart',JSON.stringify(꺼낸거));
}else{
검사.push(title);
꺼낸거.push(product);
localStorage.setItem('cart',JSON.stringify(꺼낸거));
}
같은 조건인데 왜 if문안에 if문으로 쓸 때는 실행이 잘되고
&& item.상품명 == title을 추가해 한번에 조건을 쓰면 안되는지 이해가 잘 안돼요ㅠㅠ