6/29 如何for迴圈跑Array

Q1:目前調查兩戶住宅的貴婦姓名,未來可能還會延伸調查,那我要如何做呢?

Q2:計算每戶小孩的總人口數。

Q3:我要只要調查一戶住宅,小孩是否有十個以上。

Q4:續Q3,每一年每戶會增加一位新生兒。


 

Q1:目前調查兩戶住宅的貴婦姓名,未來可能還會延伸調查,那我要如何做呢?

var house =[
{
    mom:'anna',
    dad:'sam',
},{
    mom:'penny',
    dad:'bob',
}
];
//基本可以從 console.log(house.length)//抓陣列長度為2(2個住戶)
//console.log(house[1].mom) // 'penny'
for (var i =0;i<house.length;i++)//(初始狀態;條件;內容更新)
{
    console.log('第'+(i+1)+'個住宅的貴婦'+house[i].mom)
}


//可以使用以上的for迴圈將每戶住宅的貴婦姓名印出來,之後還能延伸調查

結果:


Q2:計算每戶小孩的總人口數。

var house =[
{
    mom:'anna',
    dad:'sam',
    child:5,
},{
    mom:'penny',
    dad:'bob',
    child:11,
},
{
    mom:'sala',
    dad:'gary',
    child:18,
}
];

housetotal=0;//小孩總數先預設為0

for (var i=0 ; i<house.length;i++){
housetotal += house[i].child;
}
console.log(housetotal)

結果:


Q3:我要只要調查一戶住宅,小孩是否有十個以上。

var house =[
{
    mom:'anna',
    dad:'sam',
    child:5,
},{
    mom:'penny',
    dad:'bob',
    child:11,
},
{
    mom:'sala',
    dad:'gary',
    child:18,
}
];

for (var i=0 ; i<house.length;i++){
if(house[i].child>10){
    console.log(house[i].mom+'這戶有十位孩兒')
    //調查多戶的話就可以把break拿掉,執行到這就好
    break; 
}
}
 

結果:


 

Q4:續Q3,每一年每戶會增加一位新生兒。

var house =[
{
    mom:'anna',
    dad:'sam',
    child:5,
},{
    mom:'penny',
    dad:'bob',
    child:11,
},
{
    mom:'sala',
    dad:'gary',
    child:18,
}
];

for (var i=0 ; i<house.length;i++){
if(house[i].child>10){
    console.log(house[i].mom+'這戶有'+house[i].child+'孩兒')
    house[i].child +=1;
    //可以使用+=1去累加 OR -=1 去累減
    console.log('每一年增加一位新生兒,這戶總共有'+house[i].child+'小孩');
    break; 
    
}
}
 

結果: