javascript - 尝试从带有条件的 JSON 文件中过滤数组
问题描述
这可能是一件简单的事情,但我是一个新手,很困惑。
const filteredFloors = state.cfAllFloors.json.filter(floor => {
return floor.fields.building.fields.slug === 'Library'
})
我想改变这个对象的条件,首先检查建筑物是否存在,如果存在,然后检查它是否与“图书馆”匹配。
我不断收到“TypeError:无法读取未定义的属性'字段'”,我怀疑这是因为某些数组项没有此属性。
解决方案
const filteredFloors = state.cfAllFloors.json.filter(floor => {
return floor && floor.fields && floor.fields.building && floor.fields.building.fields && floor.fields.building.fields.slug === 'Library'
})
如果该链中的任何属性是null
或最终.slug
不等于“库”,则将返回 false。
一个null
值不是“真实的”,因此检查对象将返回 false,如果它是null
或者true
如果它有任何值。
推荐阅读
- c# - EF 错误:无法跟踪实体类型“对象”的实例,因为另一个实例
- flutter - 预期类型为“RootProvider”的值
- unity3d - 如何使爆炸仅影响 x 轴而不影响 y 轴统一
- python - 创建带有输出的条件循环
- c# - 以编程方式在本地 Azure DevOps 服务器工作项注释中为 Active Directory 用户帐户添加 @提及(2021 年 1 月)
- amazon-web-services - AWS Cognito Post 身份验证触发器获取身份 ID
- python - Django - 我如何返回 json 响应错误?
- javascript - JavaScript:使用 .forEach 到 html 内容的 JSON 属性
- python - 在不使用内置函数的情况下循环遍历和排序 pandas 中的行
- node.js - 无法使用 Node.js 将图像发布到 aws-s3 服务