JavaScript-巢狀迴圈內外if判斷字串與陣列
這個部分屬於如果說Json格式本身外面有一個陣列蛋如果說最裡面還有一個陣列的話怎去完整地抓取(名字一項項的列出li),用一個for迴圈是能整個抓不過只要有一個陣列放在li會將整個陣列掛在li。這裡用巢狀迴圈內外迴圈各有if的判斷式,這兩個判斷式用typeof去判斷,判斷是否為Object以及string。
在這裏使用createElement以防innerHTML在每一次
另外再補充陣列是沒有型別的,是屬於物件型別 這裡可參考鐵人賽:動態型別的 JavaScript
codepen
var farms =[
{
farmer:'查理'
},
{
farmer:'卡斯伯'
},
{
farmer:['喬丹','迪奧']
}
];
var farmLen = farms.length;
var el = document.querySelector('.list');
var str ='';
for(var i=0;i<farmLen;i++){
var farmerLen = farms[i].farmer.length;
if(typeof(farms[i].farmer)=='string'){//判斷string
var content = '<li>'+farms[i].farmer+'</li>';
str +=content;
el.innerHTML =str;
console.log(farms[i].farmer);
}
for(var j=0;j<farmerLen;j++){//跑Json裡面的陣列
if(typeof(farms[i].farmer)=='object'){//判斷object
var content = '<li>'+farms[i].farmer[j]+'</li>';
str +=content;
el.innerHTML =str;
console.log(farms[i].farmer[j]);
}
}
}
另外再補充陣列是沒有型別的,是屬於物件型別 這裡可參考鐵人賽:動態型別的 JavaScript
codepen
评论