[英]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.