[英]How do I log an array of values from a list of objects in Javascript?
我有一個天數組,其中每天分為30分鍾的塊,其中每個塊都是一個對象數組。 我想獲取每個塊的鍵“喚醒”的值。 如果wake為false,然后為true,我想將1加到一個名為sleepFrag的變量中,如果“ wake”為false,我想將30加到一個名為sleepPeriod的變量中。 我想控制台記錄我的兩個變量sleepPeriod和sleepFrag。
這是我要從中讀取的列表的樣子(我只包括了兩小時,兩天,每個“塊”分為24小時,我不知道有多少天):
days = [
{
chunks: [
{
BM: 1,
ID: 0,
hour: "00",
issue: 0,
mealP: 30,
timeMins: "00",
wake: true
},
{
BM: 0,
ID: 1,
hour: "00",
issue: 0,
mealP: 30,
timeMins: "30",
wake: true
},
{
BM: 0,
ID: 2,
hour: "01",
issue: 0,
mealP: 0,
timeMins: "00",
wake: false
},
{
BM: 0,
ID: 3,
hour: "01",
issue: 3,
mealP: 0,
timeMins: "30",
wake: false
}
],
epoch: 1563163200
},
{
chunks: [
{
BM: 0,
ID: 0,
hour: "00",
issue: 0,
mealP: 0,
timeMins: "00",
wake: true
},
{
BM: 0,
ID: 1,
hour: "00",
issue: 0,
mealP: 0,
timeMins: "30",
wake: true
},
{
BM: 0,
ID: 2,
hour: "01",
issue: 0,
mealP: 0,
timeMins: "00",
wake: true
},
等等
這是我已經嘗試過的:
function getSleep(daysIn){
sleepFrag = 0
sleepPeriod = 0
for (chunk=0; chunk < days.length; chunk++){
for(element=0; element< days[chunk].length; element++){
if(days[element-1].wake==false)&&(days[element].wake==true){
sleepFrag+=1
}
else if (days[element].wake==false){
sleepPeriod+=30
}
}
console.log("this is the sleep amount for day"+chunk+":"sleepPeriod)
console.log("this is the number of sleep fragments for day"+chunk+":"sleepFrag)
}
console.log("this is the total number of sleep fragments :"+sleepFrag)
console.log("this is the total amount of sleep :"+sleepPeriod)
}
console.log("sleep fragments and sleep periods")
getSleep(days)
我沒有在控制台上登錄,也沒有錯誤。 我希望得到:
睡眠碎片和睡眠時間
這是一天的睡眠量(“ im”代表當天的睡眠時間):(該天的sleepPeriod)
這是一天的睡眠片段的數量(“大塊”代表即時消息所在的日期):(該天的sleepFrag)
這是睡眠碎片總數:(睡眠碎片數)這是睡眠總量:(睡眠量)
您的函數的邏輯實際上是正確的..但是代碼編寫非常糟糕。.沒有var聲明,沒有分號(;)等。這是精煉的函數:
function getSleep(daysIn){
var sleepFrag = 0
var sleepPeriod = 0
for (var i=0; i < daysIn.length; i++){
var day = daysIn[i];
var chunksOfTheDay = day.chunks;
for(var j=1; j < chunksOfTheDay.length; j++){
if((chunksOfTheDay[j-1].wake === false) && (chunksOfTheDay[j].wake === true)){
sleepFrag+=1
}
else if (chunksOfTheDay[j].wake === false){
sleepPeriod+=30
}
}
console.log("this is the sleep amount for day"+i+":"+sleepPeriod);
console.log("this is the number of sleep fragments for day"+i+":"+sleepFrag);
}
console.log("this is the total number of sleep fragments :"+sleepFrag);
console.log("this is the total amount of sleep :"+sleepPeriod);
}
console.log("sleep fragments and sleep periods");
getSleep(days);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.