首页 > 解决方案 > 循环对象条目并显示数据列表

问题描述

我正在尝试显示“测试”下存在的所有条目(不包括损失)。我已经设法返回列表中的第一项,但无法获得剩余的。下图显示了我在前端显示的内容以及我的文件中针对该特定条目(右侧)的内容。“测试”中返回的数据可能因每个数组项而异。感谢任何帮助。

在此处输入图像描述

  const getMetrics = (model) => {
    for (const [key, value] of Object.entries(model.test)) {
      if (key !== 'loss') {
        // console.log(key, value);
        return key + value;
      }
    }
  };

  .map((i) => {
    const model = i.models[Object.keys(i.models)[0]];

    return (
       {getMetrics(model)}
    )
 })

标签: javascript

解决方案


您的getMetrics函数将始终返回与条件匹配的第一个元素。在这里,您可以更改您的功能以依赖高阶功能map,并filter像这样完成您的任务:-

const model = {
  test: {
    key1: 1,
    key2: 2,
    key3: 3,
    loss: 4
  }
}

const getMetrics = (model) => {
  return Object.entries(model.test).filter(([key, value]) => key !== 'loss').map(([key, value]) => key + value);
}

console.log(getMetrics(model));


推荐阅读