JSON使用JavaScript连接循环中的数据

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 = {

我必须使用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 = {
  "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:堆栈溢出是一个非常活跃的地方。当你发布一个问题(或答案)时,停留几分钟,这样你就可以解决像上面这样的澄清请求。当我发布这篇文章时,这里至少有两个人在积极地帮助你(可能更多)。一旦问题变得陈旧,就不太可能有乐于助人的人来研究它。