Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应本机分区列表拆分日期_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 反应本机分区列表拆分日期

Javascript 反应本机分区列表拆分日期,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我需要重新格式化我的日期对象,我有一个这样格式的日期数组: Object { "FREETIME": "2021-04-19 11:30:00", }, Object { "FREETIME": "2021-04-19 12:00:00", }, Object { "FREETIME": "2021-04-20 12:30:00",

我需要重新格式化我的日期对象,我有一个这样格式的日期数组:

  Object {
    "FREETIME": "2021-04-19 11:30:00",
  },
  Object {
    "FREETIME": "2021-04-19 12:00:00",
  },
  Object {
    "FREETIME": "2021-04-20 12:30:00",
  },
  Object {
    "FREETIME": "2021-04-21 12:50:00",
  },
我想在分区列表中呈现它们,如下所示:

const DATA = [
  {
    title: "2021-04-19",
    data: ["11:30:00", "12:00:00"]
  },
  {
    title: "2021-04-20",
    data: ["12:30:00"]
  },
  {
    title: "2021-04-21",
    data: ["12:50:00"]
  },
];
因此,我要做的是首先将
空闲时间的数组按天数和时间进行拆分:

const dates = data.map((item) => item.FREETIME.split(" "));
然后我得到
节列表的节头的唯一天数:

    function onlyUnique(value, index, self) {
        return self.indexOf(value) === index;
    }
    const days = dates.map((item) => item[0]).filter(onlyUnique);
然后我尝试用天和相应的时间构建新的对象数据,但未能正确映射时间:

    const DATA = days.map((dayHeader) => ({
        title: dayHeader,
        data: //don't know how to map it properly here
    }));

我做错了什么,或者有其他方法吗?

下面是一种使用
Array.prototype.reduce做这项工作的方法

const arrayOfObjectDates=[
{
“自由时间”:“2021-04-19 11:30:00”,
},
{
“自由时间”:“2021-04-19 12:00:00”,
},
{
“自由时间”:“2021-04-20 12:30:00”,
},
{
“自由时间”:“2021-04-21 12:50:00”,
}
];
const DATA=arrayOfObjectDates.reduce((op,{FREETIME})=>{
var[date,time]=FREETIME.split(“”),{result,index}=op;
if(索引hasOwnProperty(日期)){
结果[索引[日期]].data.push(时间);
}否则{
索引[日期]=result.length;
push({title:date,data:[time]});
}
返回op;
},{result:[],index:{});
console.log(数据)