javascript - 如何检查数据是否存在以呈现结果?
问题描述
这是我的代码:XXXXXX 抱歉,不再可用的代码将很快包含在内。
我想要发生的是,当我单击一个按钮时,每个对象的“索引”都会像这样传递:
const priceShown = product[evenIndex].price;
但是当页面加载时我得到一个错误说price
是未定义的:(
我知道这与尚不存在的数据有关(我不知道为什么会这样,所以如果您也能解释一下,这也将是一个很大的好处!)。
priceShown
在我写这个之前检查数据是否存在:
if (evenIndex !== null) {
return evenIndex;
} else {
console.log('no data');
};
这总是返回语句的一部分,因为除非您单击按钮,否则您no data
无法传递索引( ),所以总是未定义?除非由于另一个我不知道的原因而未定义。evenIndex
price
有什么帮助吗?
解决方案
您可以先检查是否product[evenIndex]
已设置,然后取出是否已设置price
。这样,在选择索引之前不会呈现价格。
const priceShown = product[evenIndex] && product[evenIndex].price;
推荐阅读
- mit-scratch - 永远循环从头开始迭代的间隔是多长时间?
- javascript - toggleClass 在每个函数中没有按预期工作
- qemu - 在 Qemu 中启动 QorIQ PowerPC 固件
- c - 使用 memcpy() 将记录添加到共享内存表
- r - 在 R 中绘制具有 YYY-MM-DDTHH:MM:SS 等时间序列数据的每月或每年
- sqlite - 迁移 Appcelerator App 到 React Native 维护 SQLite 数据库
- java - 错误:为多模块项目创建 jar 后无法找到或加载主类
- azure - ARM 模板 resourceid() 函数失败
- shopify - 如何将移动设备徽标居中并将汉堡菜单移至最左侧?
- angular - RXJS:如何将返回对象的多个 HTTP 请求组合成一个数组