如何从JavaScript嵌套数组中解构出所有对象?
解决嵌套数组遍历问题
你的问题出在解构parts数组时只取了第一个元素——代码里的parts: [{ name: n2, exercises: ex }]是对数组做解构,只会提取数组下标0的元素,所以每个课程只能输出第一个part。
要输出所有嵌套的part对象,需要给parts数组再加一层循环:
for (const { name1: n, parts } of courses) { console.log(`${n}:`); // 遍历当前课程的所有parts for (const { name: n2, exercises: ex } of parts) { console.log(` ${n2} ${ex}`); } }
这段代码的逻辑很直接:
- 外层
for...of循环遍历每个课程,拿到课程名称n和完整的parts数组 - 内层再用一个
for...of循环遍历当前课程的parts数组,逐个取出每个part的名称和练习数,按格式输出
运行后就能得到你想要的结果:
Half Stack application develop: Fundamentals of React 10 Using props to pass data 7 State of a component 14 Redux 11 Node.js: Routing 3 Middlewares 7
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

