javascript - 如果数组为空,如何防止数组中的嵌套数据出错?
问题描述
我有这个例子:
var data={
city:{
street:{
houses:[]
}
}
}
alert(data.city.street.houses?.[0].person);
var data={
city:{
street:{
houses:[]
}
}
}
alert(data.city.street.houses?.[0].person);
这将显示一个错误,因为它不存在houses[0]
,我怎样才能避免出现错误但如果houses[0]
确实存在,继续嵌套?
这样做,我收到错误:
我该怎么做?
解决方案
只需在数组项引用之后添加另一个链接运算符:
var data = {
city: {
street: {
houses: []
}
}
}
let res = data.city.street.houses?.[0];
res = res != undefined ? res.person : 'no value';
console.log(res);
推荐阅读
- algorithm - 如何在opencv中为来自不同环境的相机输入优化设置GMG算法的参数
- opencart - Opencart Smtp 邮件发送在 localhost 上不起作用
- android - 一个 Fragment 可以成为其他 Fragment 的中心枢纽吗?
- android - 如何在 React-Native Android 中收听硬件键盘输入
- c++ - 在运行时导出项目资源
- javascript - 在 Django LANGUAGE_CODE 上设置 Vue.js 语言库
- three.js - 如何在three.js中只显示边缘线?
- java - 与 IntelliJ 错误的基本 Maven 集成
- vb.net - ACE.OLEDB.12.O 连接未打开
- linux - Tcpdump 通过文件轮换将 pcap 写入远程服务器