【发布时间】:2019-08-13 17:33:02
【问题描述】:
class Array extends React.Component {
constructor() {
super();
this.state = {
newArray: [
{
"Category": "Category1",
"value": [
{
"Name": "Name1"
},
{
"Name": "Name2"
},
{
"Name": "Name4"
}
]
},
{
"Category": "Category2",
"value": [
{
"Name": "Name3"
}
]
}
],
};
}
render() {
var nestedArray = this.state.newArray.map((title, index) => {
return(
<div key={`nestedArray_${index}`}>
<div key={`category_${title}`}>{title.Category}</div>
</div>
)
})
return (
<div>
<h1>{nestedArray}</h1>
</div>
);
}
}
ReactDOM.render(
<Array />,
document.getElementById('root')
);
当前代码的 Codepen:https://codepen.io/anon/pen/GePyBa
我现在的显示是这样的:
类别 1
类别 2
理想情况下,我希望它是:
类别 1
姓名1
名字2
名字4
类别 2
名字3
我试过寻找答案,但没有任何效果。
我尝试做这样的事情,但它不起作用:
render() {
var innerArray = this.state.newArray.map((values) => {
return {this.state.newArray.value[values].map((name, index) => {
return (
<div key={`value_${name}`}>{name.Name}</div>
)
})}
})
var nestedArray = this.state.newArray.map((title, index) => {
return(
<div key={`nestedArray_${index}`}>
<div key={`category_${title}`}>{title.Category}</div>
{innerArray}
</div>
)
})
return (
<div>
<h1>{nestedArray}</h1>
</div>
);
}
Javascript 和 React 新手,感谢您的帮助。
【问题讨论】:
标签: javascript arrays reactjs nested mapping