Javascript 显示来自对象的动态数据
我试图根据类型在前端显示“helpText”数据。我可以将条件语句(metricsType变量)和[key]值传递到我试图返回的内容中。下面最后一个“p”让你了解我想要实现的目标 本例中的键值是二进制精度或rmse(来自json文件) 谢谢你的帮助Javascript 显示来自对象的动态数据,javascript,reactjs,Javascript,Reactjs,我试图根据类型在前端显示“helpText”数据。我可以将条件语句(metricsType变量)和[key]值传递到我试图返回的内容中。下面最后一个“p”让你了解我想要实现的目标 本例中的键值是二进制精度或rmse(来自json文件) 谢谢你的帮助 const getMetrics = (model, type) => { const metricsType = type === 'REGRESSION' ? 'regression' : 'binary'; const
const getMetrics = (model, type) => {
const metricsType = type === 'REGRESSION' ? 'regression' : 'binary';
const metrics = {
binary: {
binary_accuracy: {
helpText: 'helptext 1',
},
},
regression: {
rmse: {
helpText: 'helptext 2',
},
},
};
return Object.entries(model.test)
.filter(([key]) => key !== 'loss')
.map(([key, value]) => (
<div>
<div>
<h4>{key}</h4>
<p>{metrics.binary.binary_accuracy.helpText}</p>
// output: helptext 1
<p>{metrics.regression.rmse.helpText}</p>
// output: helptext 2
<p>{metrics.{metricsType}.[key].helpText}</p>
// this does not work but an idea of what I'm trying to do. I've tried backticks, ${}, + but no luck.
</div>
</div>
));
};
--------
return (
{getMetrics(model, i.type)}
)
const getMetrics=(模型,类型)=>{
常量metricsType=type==‘回归’?‘回归’:‘二进制’;
常数度量={
二进制:{
二进制精度:{
helpText:“helpText 1”,
},
},
回归:{
rmse:{
helpText:“helpText 2”,
},
},
};
返回Object.entries(model.test)
.filter(([key])=>key!=='loss')
.map([key,value])=>(
{key}
{metrics.binary.binary_accurity.helpText}
//输出:帮助文本1
{metrics.regression.rmse.helpText}
//输出:帮助文本2
{metrics.{metricsType}.[key].helpText}
//这不起作用,但我知道我正在尝试做什么。我尝试过回击,${},+但没有运气。
));
};
--------
返回(
{getMetrics(model,i.type)}
)
您需要的可能是{metrics[metricsType][key].helpText}
(如果不知道模型
,很难说)。谢谢您的帮助。我得到了一个“helpText是未定义的错误”,所以我最终让它像这样工作。{metrics[metricsType][key]&&metrics[metricsType][key].helpText}。不确定他们的方法是否更好。是的,这是一个很好的解决方案,取决于您的目标浏览器和使用的捆绑工具,您还可以编写此{metrics[metricsType][key]?.helpText}
,甚至更好,谢谢您的帮助。