Javascript React-嵌套映射以检索json数据
所以我对javascript有点陌生,通常会做出反应,所以我一直在练习。现在,我正试图检索JSON数据,并使用它来呈现多个HTML块,就像一个基本的时间表一样。例如,最初,我的JSON格式如下Javascript React-嵌套映射以检索json数据,javascript,json,reactjs,Javascript,Json,Reactjs,所以我对javascript有点陌生,通常会做出反应,所以我一直在练习。现在,我正试图检索JSON数据,并使用它来呈现多个HTML块,就像一个基本的时间表一样。例如,最初,我的JSON格式如下 { "saturday":[ { "event": 1 }, { "event": 2 } ] } 我使用如下函数映射JSON数组的每个部分 initialize = events => { return events.map(this.createBlo
{
"saturday":[
{
"event": 1
},
{
"event": 2
}
]
}
我使用如下函数映射JSON数组的每个部分
initialize = events => {
return events.map(this.createBlock)
}
这里createBlock是另一个返回以下内容的函数
createBlock = events =>{
return(
<Scheduled
event={events.event}
/>
);
其中数据是导入的JSON资产
但是现在我想在嵌套的JSON数据上做同样的事情。所以看起来是这样的。所以现在不是直接创建多个事件块。它将生成多个时间块,每个时间块中都包含多个事件块
"saturday":{
"time":{
"9:00": [
{
"event": 1
},
{
"event": 2
}
],
"10:00":[
{
"event": 1
},
{
"event": 2
}
]
}
}
我只是不知道该怎么做。我在考虑一个嵌套的地图,但不确定这是否可行。如有任何建议/帮助,将不胜感激,谢谢 当然可以使用嵌套贴图
initialize=计时=>{
返回timings.map(this.createEvents)
}
然后
createEvents=events=>{
return events.map(this.createBlock)
}
最后
{this.initialize(data.saturday)}
在第一级,您有一个对象,在第二级是数组,因此为了使用map,您需要在第一级使用
initialize = day => {
return Object.entries(day.time).map(this.createBlock)
}
createBlock = ([time, events]) =>{
return (
<div>
<p>{time}</p>
{events.map(this.createEvent)}
</div>
);
createEvent = event =>{
return(
<Scheduled
event={event.event}
/>
);
initialize=day=>{
返回Object.entries(day.time).map(this.createBlock)
}
createBlock=([时间,事件])=>{
返回(
{time}
{events.map(this.createEvent)}
);
createEvent=event=>{
返回(
);
const数据={
“星期六”:{
“时间”:{
"9:00": [{
“事件”:1
},
{
“事件”:2
}
],
"10:00": [{
“事件”:1
},
{
“事件”:2
}
]
}
}
}
计划常数=({
事件
}) => {
返回{
事件
}