Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查数据是否存在以呈现结果?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何检查数据是否存在以呈现结果?

Javascript 如何检查数据是否存在以呈现结果?,javascript,reactjs,Javascript,Reactjs,这是我的代码:XXXXX抱歉代码不再可用,将很快包括 我希望发生的是,当我单击一个按钮时,每个对象的“索引”将按如下方式传递: const priceshow=产品[evendex]。价格 但是当页面加载时,我得到一个错误,说price未定义:( 我知道这与尚不存在的数据有关(我不知道这是为什么,所以如果你能解释一下,这也会是一个很大的好处!) 要检查数据是否在显示的price之前,我写了以下内容: if (evenIndex !== null) { return evenIndex; }

这是我的代码:XXXXX抱歉代码不再可用,将很快包括

我希望发生的是,当我单击一个按钮时,每个对象的“索引”将按如下方式传递:

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太长时间,将继续使用并添加它。谢谢!哦,这很简单,谢谢!我想这会是更多的代码比那还厉害,哈哈,太棒了