【发布时间】:2019-11-15 03:15:15
【问题描述】:
我正在使用 REACT JS。我的 JSON 对象数组具有以下格式:
{
"records": {
"Master Automotives": [
{
"SparePartID": "43",
"Name": "Oil and Lubricants",
"err": ""
},
{
"SparePartID": "45",
"Name": "Lights",
"err": "Stock Error"
}
],
"Repair Solutions": [
{
"SparePartID": "47",
"Name": "Steering Wheel",
"err": ""
}
],
"FiveStar Automotives": [
{
"SparePartID": "51",
"Name": "Brakes",
"err": ""
},
{
"SparePartID": "53",
"Name": "Clutch",
"err": "Stock Error"
},
{
"SparePartID": "55",
"Name": "LED",
"err": ""
}
]
}
}
现在在一个名为 placeOrder() 的方法中,我想检查以上 JSON 中是否有任何项目具有列“err”值 =“Stock Error”,如果任何一项或多项具有 err 值,我想将 check 的状态设置为 true。
但是所有项目的 err 值都等于 null 即 err="" 那么它应该将 check 的状态设置为 false。
我在下面尝试了这段代码,但它不起作用。你能告诉我我做错了什么吗:
placeOrder()
{
const arr = {...this.state.myrecords};
Object.keys(arr).forEach(key => {
if (arr[key].err === 'Stock Error')
{
this.setState({
check: true
})
}
})
}
【问题讨论】:
标签: arrays json reactjs object foreach