Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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_Arrays - Fatal编程技术网

Javascript 在给定日期之前从数组中删除对象

Javascript 在给定日期之前从数组中删除对象,javascript,arrays,Javascript,Arrays,嗨,我已经找遍了所有的地方,无法完成这件事 我想从数组中删除过时(直到昨天)的对象 我的数组看起来像这样 [{"apdate": "09-12-2020", "booked": "14:30"}, {"apdate": "11-12-2020", "booked": "19:30"}, {"apdate"

嗨,我已经找遍了所有的地方,无法完成这件事

我想从数组中删除过时(直到昨天)的对象

我的数组看起来像这样

 [{"apdate": "09-12-2020", "booked": "14:30"}, 
  {"apdate": "11-12-2020", "booked": "19:30"}, 
  {"apdate": "10-12-2020", "booked": "19:00"}, 
  {"apdate": "17-12-2020", "booked": "14:30"}, 
  {"apdate": "17-12-2020", "booked": "15:30"}, 
  {"apdate": "17-12-2020", "booked": "19:00", "phone": "9898989898"}, 
  {"apdate": "10-01-2021", "booked": "16:00"}, 
  {"apdate": "29-01-2021", "booked": "18:30"}, 
  {"apdate": "01-02-2021", "booked": "14:00", "name": "Anand", "uuid": "cPA7ND7U2jdw7qY6nHf4kWuxyx53"}, 
  {"apdate": "01-02-2021", "booked": "10:00", "name": "Anand", "uuid": "cPA7ND7U2jdw7qY6nHf4kWuxyx53"}, 
  {"apdate": "01-02-2021", "booked": "03:30", "name": "Anand", "uuid": "cPA7ND7U2jdw7qY6nHf4kWuxyx53"}]
请引导我

我想从数组中删除过期的(截至昨天的
)对象

老实说,你应该记住永远不要让你的数据发生变异

==>
根据您的需要使用即可

您可以使用根据给定的日期过滤数据

const数据=[
{apdate:“09-12-2020”,预订时间:“14:30”},
{apdate:“11-12-2020”,预订时间:“19:30”},
{apdate:“10-12-2020”,预订时间:“19:00”},
{apdate:“17-12-2020”,预订时间:“14:30”},
{apdate:“17-12-2020”,预订:“15:30”},
{apdate:“17-12-2020”,预订时间:19:00,电话:9898},
{apdate:“10-01-2021”,预订时间:“16:00”},
{apdate:“29-01-2021”,预订时间:“18:30”},
{apdate:“01-02-2021”,预订时间:“14:00”,姓名:“Anand”,uuid:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”},
{apdate:“01-02-2021”,预订时间:“10:00”,姓名:“Anand”,uuid:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”},
{apdate:“01-02-2022”,预订时间:“03:30”,姓名:“Anand”,uuid:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”}
];
const convertStringToDate=(strDate)=>{
常量值=标准日期拆分(“-”);
返回新日期(值[2],值[1]-1,值[0]);
};
const filterDataByGivenDate=(数据,givenDate)=>data.filter(r=>convertStringToDate(r.apdate)>=givenDate);
const today=新日期();
const dayed=today.setDate(today.getDate()-1);

log(filterDataByGivenDate(数据,昨天))过滤阵列并保留所需的唯一阵列。根据需要添加日期比较逻辑

let a=[{“apdate”:“09-12-2020”,“booked”:“14:30”},
{“apdate”:“11-12-2020”,“预订”:“19:30”},
{“apdate”:“10-12-2020”,“预订”:“19:00”},
{“apdate”:“17-12-2020”,“预订”:“14:30”},
{“apdate”:“17-12-2020”,“预订”:“15:30”},
{“apdate”:“17-12-2020”,“预订”:“19:00”,“电话”:“9898”},
{“apdate”:“10-01-2021”,“预订”:“16:00”},
{“apdate”:“29-01-2021”,“booked”:“18:30”},
{“apdate”:“01-02-2021”,“booked”:“14:00”,“name”:“Anand”,“uuid”:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”},
{“apdate”:“01-02-2021”,“booked”:“10:00”,“name”:“Anand”,“uuid”:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”},
{“apdate”:“01-02-2021”,“booked”:“03:30”,“name”:“Anand”,“uuid”:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”});
a=a.filter(obj=>{
//在此处添加日期比较逻辑,并为要保留的元素返回true
//在本例中,它将使用“01-02-2021”保留图元
//您可以在此处添加逻辑来比较日期
返回obj.apdate=='01-02-2021';
})
//现在,通过这种方式,您已经从
控制台日志(a);
您可以使用它,将其组合起来就可以了

const数据=[
{“apdate”:“09-12-2020”,“预订”:“14:30”},
{“apdate”:“11-12-2020”,“预订”:“19:30”},
{“apdate”:“10-12-2020”,“预订”:“19:00”},
{“apdate”:“17-12-2020”,“预订”:“14:30”},
{“apdate”:“17-12-2020”,“预订”:“15:30”},
{“apdate”:“17-12-2020”,“预订”:“19:00”,“电话”:“9898”},
{“apdate”:“10-01-2021”,“预订”:“16:00”},
{“apdate”:“29-01-2021”,“booked”:“18:30”},
{“apdate”:“01-02-2021”,“booked”:“14:00”,“name”:“Anand”,“uuid”:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”},
{“apdate”:“01-02-2021”,“booked”:“10:00”,“name”:“Anand”,“uuid”:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”},
{“apdate”:“01-02-2021”,“booked”:“03:30”,“name”:“Anand”,“uuid”:“cPA7ND7U2jdw7qY6nHf4kWuxyx53”}
];
常量filteredata=\uu0.filter(数据,项=>{
常数apdate=时刻(item.apdate,'DD-MM-YYYY');
const today=时刻();
常数差=apdate.diff(今天,“天”);
//您可以根据需要修改条件;
返回差>=0;
});
console.log(filteredData)

到目前为止您尝试了什么?你可以简单地迭代数组,将“apdate”字段与你想要保留的最大值(例如昨天)进行比较。你能教我如何通过函数删除对象吗?哦,不,你应该记住,永远不要改变你的数据。根据您的需要使用它。这是因为它存储在firestore文档中,为了保持文档大小的精简,我提出了这个要求。因此您可以使用最新的
过滤数据进行更新,不过:)