javascript - 如何使用相同的组件值映射 2 个不同的数组?

标签 javascript reactjs ecmascript-6 es6-map

const App = () => { 
  const courses = [
    {
      name: 'Half Stack application development',
      id: 1,
      parts: [
        {
          name: 'Fundamentals of React',
          exercises: 10,
          id: 1
        },
        {
          name: 'Using props to pass data',
          exercises: 7,
          id: 2
        },
        {
          name: 'State of a component',
          exercises: 14,
          id: 3
        },
        {
          name: 'Redux',
          exercises: 11,
          id: 4
        }
      ]
    }, 
    {
      name: 'Node.js',
      id: 2,
      parts: [
        {
          name: 'Routing',
          exercises: 3,
          id: 1
        },
        {
          name: 'Middlewares',
          exercises: 7,
          id: 2
        }
      ]
    }
  ]

我正在尝试访问并打印内容courses.parts.names中的第二个数组。 我使用下面的片段成功访问了第一个数组。

courses.map( course => <h2 key = {course.id}> {course.name} <h2/>

但我很难弄清楚如何访问第二个子子数组。

谢谢。

最佳答案

所需的步骤是:

  1. 将类(class)数组简化为部分数组

  2. 迭代新的部件数组以渲染组件

const courses = [ ... ];
// Step 1
const parts = courses.reduce((parts, course) => {
    return [...parts, ...course.parts];
}, []);

// Step 2
parts.map(part => <h2 key={part.id}>{part.name}<h2/>);

关于javascript - 如何使用相同的组件值映射 2 个不同的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58870540/

相关文章:

javascript - 我可以将游戏 handle 与 Node-Webkit (NW.js) 一起使用吗?

javascript - HTML组件开发。具有浏览器自动重新加载功能的轻量级快速解决方案

node.js - Express React cookie 问题

javascript - “箭头功能”和“功能”是否等效/可互换?

javascript - 如何在数字字段中只允许 2 位小数

javascript - AngularJS 方法检测在 <select> 下拉列表中选择相同的 <option>

javascript - 在 ReactJS 中传递 props 并且它们不会加载,同时收到目标容器错误?

html - 为什么我无法渲染 rc-slider 及其标 checkout 现在一行中?

javascript - Webpack 构建 React.createClass 不是一个函数

javascript - 参数的值是如何分配给这个函数的?