JSON使用JavaScript连接循环中的数据
我必须使用JSON数据在节点中执行类似于左连接sql的操作。实际上,在componentWillReceiveProps上,它会做出反应(如果它改变了什么) 我国:JSON使用JavaScript连接循环中的数据,javascript,json,reactjs,object,Javascript,Json,Reactjs,Object,我必须使用JSON数据在节点中执行类似于左连接sql的操作。实际上,在componentWillReceiveProps上,它会做出反应(如果它改变了什么) 我国: const dayList = { "2017-11-08": [], "2017-11-09": [], "2017-11-10": [], "2017-11-11": [], "2017-11-12": [], "2017-11-13": [] } 我要加入的数据: const visit = {
const dayList = {
"2017-11-08": [],
"2017-11-09": [],
"2017-11-10": [],
"2017-11-11": [],
"2017-11-12": [],
"2017-11-13": []
}
我要加入的数据:
const visit = {
"2017-11-11": "10:30",
"2017-11-12": "10:00",
"2017-11-12": "10:30"
}
在componentdidmount中,我需要设置state,以便得到以下结果:
const dayList = {
"2017-11-08": [],
"2017-11-09": [],
"2017-11-10": [],
"2017-11-11": ["10:30"],
"2017-11-12": ["10:00","10:30"],
"2017-11-13": []
}
我知道如何使用.map和if语句实现它。但我相信有更好的办法。
你有什么建议 是的,实际上你是对的。我回答错了问题。也不是有效的JSON 但是,仍然有一个案例要做。 我从db获得的原始数据如下所示:
[
{
"createDate": "Tue Nov 07 2017 20:56:27 GMT+0100",
"visitDate": "20171110",
"visitTime": "1030",
"doctor": {
"name": "name1"
}
},
{
"createDate": "Tue Nov 07 2017 20:56:36 GMT+0100",
"visitDate": "20171111",
"visitTime": "1000",
"doctor": {
"name": "name1"
}
},
{
"createDate": "Tue Nov 07 2017 23:30:03 GMT+0100",
"visitDate": "20171111",
"visitTime": "1030",
"doctor": {
"name": "name1"
}
}
];
在react组件中,需要将其显示为每天的访问列表,就像这样
"2017-11-08": [],
"2017-11-09": [],
"2017-11-10": ["10:30"],
"2017-11-11": ["10:00","10:30"],
"2017-11-12": []
"2017-11-13": []
上面的代码中没有JSON。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就没有处理JSON。您的
visit
初始值设定项将导致一个对象只有两个属性,而不是三个属性。(第二个名为“2017-11-12”
的属性覆盖了第一个属性。)因此,首先要做的是修复它。除非您这样做,否则我们无法帮助您,因为起始数据结构无法完成您所描述的任务。FWIW:堆栈溢出是一个非常活跃的地方。当你发布一个问题(或答案)时,停留几分钟,这样你就可以解决像上面这样的澄清请求。当我发布这篇文章时,这里至少有两个人在积极地帮助你(可能更多)。一旦问题变得陈旧,就不太可能有乐于助人的人来研究它。