해당 데이터로 어떻게 $.each문 돌릴수 있을까요?
본문
변수에 저장하는 값은 보기 편하려고 일단 띄어쓰기 했습니다.
var arr =
"
[
{"pagelevel":1,"filelist":"qmffodzm12","pagenamelist":"메인페이지"},
{"pagelevel":2,"filelist":"8KdLwyqxMU","pagenamelist":"제목없음-N2"},
{"pagelevel":3,"filelist":"DU4t36Ou52","pagenamelist":"제목없음-t3"},
{"pagelevel":4,"filelist":"ChREtNNtcM","pagenamelist":"제목없음-z4"},
{"pagelevel":5,"filelist":"mcQkNoHG8f","pagenamelist":"제목없음-z4"},
{"pagelevel":6,"filelist":"jRStL2Pgy3","pagenamelist":"제목없음-d5"},
{"pagelevel":7,"filelist":"vjf8emd74y","pagenamelist":"제목없음-P6"}
]
";
$.each(arr, function(e, i){
// console.log(i);
});
console.log(pagelevel); // 원하는값 : 1,2,3,4,5,6,7
console.log(pagenamelist) // 원하는값 : 메인페이지,제목없음-N2,제목없음-t3,제목없음-z4,제목없음-z4,제목없음-d5,제목없음-P6
console.log(filelist) // 원하는값 : qmffodzm12,8KdLwyqxMU,DU4t36Ou52,ChREtNNtcM,mcQkNoHG8f,jRStL2Pgy3,vjf8emd74y
이렇게 하면 당연히 안되지만 ㅠ,ㅠ 어떻게하면 원하는값을 출력 할수 있을까요?
!-->
답변 3
var arr2 = eval('('+arr+')');
$.each(arr2, function(e, obj){
alert(obj.pagelevel);
alert(obj.filelist);
alert(obj.pagenamelist);
});
var res = JSON.parse(arr), pagelevel = [], filelist = [], pagenamelist = [];
for(i=0; i<res.length; i++) {
pagelevel.push(res[i].pagelevel);
filelist.push(res[i].filelist);
pagenamelist.push(res[i].pagenamelist);
}
alert(pagelevel.join(", "));
alert(filelist.join(", "));
alert(pagenamelist.join(", "));
alert(pagelevel.join(", "));
얘네는 떼고 쓰셔도 됩니다.
그냥 ,(콤마) 다음에 한 칸 띄우는 게 보기에 좋아서...
!-->var arr = [
{"pagelevel":1,"filelist":"qmffodzm12","pagenamelist":"메인페이지"},
{"pagelevel":2,"filelist":"8KdLwyqxMU","pagenamelist":"제목없음-N2"},
{"pagelevel":3,"filelist":"DU4t36Ou52","pagenamelist":"제목없음-t3"},
{"pagelevel":4,"filelist":"ChREtNNtcM","pagenamelist":"제목없음-z4"},
{"pagelevel":5,"filelist":"mcQkNoHG8f","pagenamelist":"제목없음-z4"},
{"pagelevel":6,"filelist":"jRStL2Pgy3","pagenamelist":"제목없음-d5"},
{"pagelevel":7,"filelist":"vjf8emd74y","pagenamelist":"제목없음-P6"}
];
var pagelevel = filelist = pagenamelist = '';
function comma(val) { return val ? val + ',' : val }
for (var i in arr) {
pagelevel = comma(pagelevel) + arr[i].pagelevel;
filelist = comma(filelist) + arr[i].filelist;
pagenamelist = comma(pagenamelist) + arr[i].pagenamelist;
}
console.log(pagelevel, filelist, pagenamelist);
</script>