Javascript 显示来自对象的动态数据

Javascript 显示来自对象的动态数据,javascript,reactjs,Javascript,Reactjs,我试图根据类型在前端显示“helpText”数据。我可以将条件语句(metricsType变量)和[key]值传递到我试图返回的内容中。下面最后一个“p”让你了解我想要实现的目标 本例中的键值是二进制精度或rmse(来自json文件) 谢谢你的帮助 const getMetrics = (model, type) => { const metricsType = type === 'REGRESSION' ? 'regression' : 'binary'; const

我试图根据类型在前端显示“helpText”数据。我可以将条件语句(metricsType变量)和[key]值传递到我试图返回的内容中。下面最后一个“p”让你了解我想要实现的目标

本例中的键值是二进制精度或rmse(来自json文件)

谢谢你的帮助

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}
,甚至更好,谢谢您的帮助。