Javascript 如何检查数据是否存在以呈现结果?
这是我的代码:XXXXX抱歉代码不再可用,将很快包括 我希望发生的是,当我单击一个按钮时,每个对象的“索引”将按如下方式传递:Javascript 如何检查数据是否存在以呈现结果?,javascript,reactjs,Javascript,Reactjs,这是我的代码:XXXXX抱歉代码不再可用,将很快包括 我希望发生的是,当我单击一个按钮时,每个对象的“索引”将按如下方式传递: const priceshow=产品[evendex]。价格 但是当页面加载时,我得到一个错误,说price未定义:( 我知道这与尚不存在的数据有关(我不知道这是为什么,所以如果你能解释一下,这也会是一个很大的好处!) 要检查数据是否在显示的price之前,我写了以下内容: if (evenIndex !== null) { return evenIndex; }
const priceshow=产品[evendex]。价格代码>
但是当页面加载时,我得到一个错误,说price
未定义:(
我知道这与尚不存在的数据有关(我不知道这是为什么,所以如果你能解释一下,这也会是一个很大的好处!)
要检查数据是否在显示的price
之前,我写了以下内容:
if (evenIndex !== null) {
return evenIndex;
} else {
console.log('no data');
};
这将始终返回语句的无数据
部分,因为除非单击按钮,否则无法传递索引(甚至索引
),因此价格
将始终是未定义的?除非由于我不知道的其他原因而未定义
有什么帮助吗?您可以先检查产品[evenIndex]
是否已设置,然后取出价格(如果已设置)。这样,在选择索引之前不会显示价格
const priceShown = product[evenIndex] && product[evenIndex].price;
在尝试访问产品
数组之前,您需要验证是否存在evenIndex
。您甚至可以删除evenIndex,因为它在您的示例中没有任何用处
const priceShown =
this.state.evenSelected == null
? "No data"
: product[this.state.evenSelected].price;
以下是您链接的代码的更新版本:
请将所有代码放在问题中,而不是放在非现场资源中。外部链接可能会随着时间的推移而变得无效,使问题对未来的访问者不太有用。哦,很酷,嗯,不确定如何做到这一点,没有使用stackoverflow太长时间,将继续使用并添加它。谢谢!哦,这很简单,谢谢!我想这会是更多的代码比那还厉害,哈哈,太棒了