어디가 잘못 됐는지
j부분은 완벽히 도는데
i부분이 4번 돌아야하거든요 근데 한 번만 돌고 안 돌아요....
ITEM_LIST에 있는 아이템들 불러오는건데
cate_no = 7 이라고 하면 i = 28; i < 32; i++;
이니까 i가 4번 도는게 맞는데... 28..29...30...31...
1번 돌.... 저도 돌겠...
그래서 j 쪽에 보면 i가 28일때 그 배열에 있는 애들 쫙 불러오는건 되는데
그 다음에 i가 29일때 부터는 못 불러와요... 살려주세요... 포트폴리오 만드는 중인데 ㅠㅜ 하아아....
for(let i = (4*Number(cate_no)); i < (4*Number(cate_no))+Number(4); i++) {
for(let j = 0; j < Number(ITEM_LIST[i].length)+Number(1); j++) {
let list = `
<div class="sec_s_box">
<div class="sec_item_img">
<img src="./img/main/sec${ITEM_LIST[i][j].sec}/${ITEM_LIST[i][j].img}.jpg" alt="">
</div>
<div class="item_box">
<div class="item_name">${ITEM_LIST[i][j].title}</div>
<div class="o_price">${ITEM_LIST[i][j].WON}${ITEM_LIST[i][j].o_price}${ITEM_LIST[i][j].comma}${ITEM_LIST[i][j].OOO}</div>
<div class="s_price">${ITEM_LIST[i][j].WON}${ITEM_LIST[i][j].s_price}${ITEM_LIST[i][j].comma}${ITEM_LIST[i][j].OOO}</div>
</div>
</div>
`
$('.sec_box').append(list)
}
}
|
cs |
(IP보기클릭)122.45.***.***
이상한데... console.log 쳐봐도 29 30 31 32 잘 나오는데...
(IP보기클릭)183.96.***.***
(IP보기클릭)183.96.***.***
Number(ITEM_LIST[i].length)+Number(1); | 21.11.10 11:52 | |
(IP보기클릭)122.45.***.***
혹시 다른 오류는 안 보이시나요?? 안 보인다면.. 그러면 말씀하신 부분 정보를 제가 다시 봐야겠군요. 제발... | 21.11.10 11:53 | |
(IP보기클릭)183.96.***.***
1번째 for문은 몬다이나이 해보이고 2번째에서 문제가 생기는거 같아보이는데요 | 21.11.10 11:54 | |
(IP보기클릭)122.45.***.***
헐 센세.. 감사합니다. Number(ITEM_LIST[i].length)+Number(1); 이 부분 유심히 보고 +Number(1); 이거만 지웠는데 포문이 다 돌아요... 왜지.... | 21.11.10 11:57 | |
(IP보기클릭)183.96.***.***
아 length 메서드는요 말그대로 n개가 출력이 되는데 배열 출력하려면 n-1로 인덱스를 잡아줘야하기 때문에 Number(1)이 없어도 됨 ㅇㅇ | 21.11.10 11:59 | |
(IP보기클릭)183.96.***.***
아님 말고 | 21.11.10 12:02 | |
(IP보기클릭)122.45.***.***
그렇군요... 그런 것 같아요...! | 21.11.10 12:04 | |
(IP보기클릭)142.122.***.***
(IP보기클릭)122.45.***.***
아 이런... 그냥 1부터 시작했으면 +number(1) 안 해도 됐을텐데... 아직 제가 생각이 컴퓨터가 아니라 사람 같이 생각하나봅니다. ㅠㅜ | 21.11.10 13:00 | |
(IP보기클릭)223.39.***.***
(IP보기클릭)122.45.***.***
어... 그거슨 제가 이제 막 배우는 학생이기 때문이죠.... 는 무의식의 흐름입니다... | 21.11.10 13:05 | |
(IP보기클릭)223.39.***.***
자바스크립트 형변환이 좀 괴상망측하긴 한데, 보통 가능하면 Number나 String을 형변환에 쓰지 않기를 권합니다. 이들은 원시(primitive) 자료형을 감싸는 래퍼 객체이므로, 원시 자료형을 그대로 쓰는 것보다 성능이 저하될 수 있기 때문입니다. 물론 코드가 더 명확해 보인다고 쓰는 사람도 있지만... | 21.11.10 13:16 | |
(IP보기클릭)122.45.***.***
지난번에 하는데 -는 형변환을 하지 않아도 괜찮았는데 +는 형변환을 안 하니까 7+1이 71로 바뀌더군요 ㄷㄷ.. 그래서 Number를 막 쓰게 된 것 같습니다. 타입스크립트인가 추천하시는 분도 계시던데 뭔지 모르기도 하고요... | 21.11.10 13:22 | |
(IP보기클릭)223.39.***.***
자바스크립트 암시적 형변환이 좀 이상해요. php랑 함께 기괴한 언어 설계로 악명 높습니다. 이건 문자열+숫자=문자열+문자열로 암시적 형변환이 나와서 그렇습니다. 문자열-문자열은 없으니 앞 값을 숫자로 변환을 시도하고, 성공하면 숫자-숫자로 하고요. 이건 어딘가에서 자료형이 마구 뒤섞이고 있다는 뜻인데, 그 부분을 찾아 그것만 숫자로 변환해주면 될 겁니다. 1같은 리터럴에 굳이 씌워주지 않아도요. 타입스크립트는 자바스크립트에 자료형 표시를 추가한 확장 언어인데, 자료형 표시가 잘 되어있으면 그를 추론해서 잘못된 사용법을 경고해줍니다. 예컨대 숫자가 들어갈 자리에 a+3을 넣었는데, a가 문자열이라면 숫자가 들어갈 곳에 문자열이 들어갔다고 경고해주는 식입니다. 타입스크립트의 특징은 자바스크립트의 상위집합이라는 거라서, 자바스크립트만 알면 쉽게 쓸 수 있습니다. 일단 자바스크립트에 충분한 자신감을 갖게 되시면 시도해 보세요. | 21.11.10 13:29 | |
(IP보기클릭)122.45.***.***
엌ㅋㅋ 감사합니다. 충분한 자신감이라니...! | 21.11.10 14:20 | |