Javascript 无法读取未定义问题的属性
我在javascript中有一个对象:Javascript 无法读取未定义问题的属性,javascript,reactjs,object,Javascript,Reactjs,Object,我在javascript中有一个对象: const systolicAndDiastolicAndPulseAverage = [ { name:'Systolic Average', style:'#FFDA83', id:'right', category:'Systolic Average', data: [ { day: 23, value: 100 }, { day: 24, value
const systolicAndDiastolicAndPulseAverage = [
{
name:'Systolic Average',
style:'#FFDA83',
id:'right',
category:'Systolic Average',
data: [
{ day: 23, value: 100 },
{ day: 24, value: 110 },
{ day: 25, value: 115 },
{ day: 26, value: 112 },
{ day: 27, value: 108 },
{ day: 28, value: 95 },
{ day: 29, value: 99 },
{ day: 30, value: 89 },
{ day: 31, value: 124 },
]
},
{
name:'Diastolic Average',
style:'#EA1D75',
id:'left',
category:'Diastolic Average',
data: [
{ day: 23, value: 61 },
{ day: 24, value: 65 },
{ day: 25, value: 82 },
{ day: 26, value: 74 },
{ day: 27, value: 69 },
{ day: 28, value: 59 },
{ day: 29, value: 67 },
{ day: 30, value: 71 },
{ day: 31, value: 74 },
]
},
{
name:'Pulse Average',
style:'#5FE3A1',
category:'Pulse Average',
data: [
{ day: 23, value: 80 },
{ day: 24, value: 83 },
{ day: 25, value: 65 },
{ day: 26, value: 72 },
{ day: 27, value: 79 },
{ day: 28, value: 93 },
{ day: 29, value: 96 },
{ day: 30, value: 91 },
{ day: 31, value: 46 },
]
}
]
所以基本上我要做的是迭代里面的每个数组(有3个数组),每次我在里面迭代,检查值是否在两端之间,如果它是真的,我会在计数器上加1。(例如,我将首先进入收缩平均值和里面的数据数组,迭代所有值并检查它们)
for(让我输入收缩舒张脉冲幅度){
设dataParsed=systolicAndDiastolicAndPulseAverage[i]。数据;
对于(设j=0;j
//1.错误不是哪一行?@RedBaron let currentValue=dataParsed[j].value this one为什么不将.map
映射到数据数组上?数组是基于零的,因此最后一个元素位于array.length-1
。您的for
循环转到array.length
,它超出了bounds@Andreas谢谢你我刚注意到了我不知道是怎么滑倒的你改变了什么?为什么?
for(let i in systolicAndDiastolicAndPulseAverage){
let dataParsed = systolicAndDiastolicAndPulseAverage[i].data;
for(let j=0;j<=dataParsed.length;j++)
{
let currentValue = dataParsed[j].value
if(currentValue.value <= 89){
lowerEnd++;
}
if(currentValue.value>=90 && currentValue.value <= 119){
lowMed++;
}
if(currentValue.value >= 120 && currentValue <=139){
highMed++;
}
else{
high++
}
}
}
console.log(lowerEnd)
console.log(lowMed)
console.log(highMed)
console.log(high)
for(let i in systolicAndDiastolicAndPulseAverage){
let dataParsed = systolicAndDiastolicAndPulseAverage[i].data;
for(let j=0;j < dataParsed.length;j++)
{
let currentValue = dataParsed[j]
if(currentValue.value <= 89){
lowerEnd++;
}
if(currentValue.value>=90 && currentValue.value <= 119){
lowMed++;
}
if(currentValue.value >= 120 && currentValue <=139){
highMed++;
}
else{
high++
}
}
}