为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查数组结果中的字段

如何检查数组结果中的字段

白衣染霜花 2023-10-14 09:57:41
我有来自 API 的数组响应。我想在继续执行 else if 条件之前检查数组结果中的所有日期是否大于 {today's date}。这就是我所做的Sample array result:array = [{id = 1name = Jerrydate = 2020-07-17subject = Math},{id = 2name = Tomdate = 2015-07-17subject = Science},{id = 3name = Lilydate = 2018-07-17subject = Biology}]for (i = 0; i < array.length; i++){    if (new Date(array[i].dates) > today) {     //do something      }else if (new Date(array[i].dates) < today) {     //do something }else{     //do something  } }}我注意到它正在检查所有条件。当索引变为 1 时,将进入 if,elseif,else 条件。所以我发现,在继续执行下一个条件(即 else if 条件)之前检查数组中的所有日期并不是正确的方法。例如,我的数组中有三个结果,我想检查第一个条件中每个索引的所有日期,如果它满足条件,那么它将在该条件下执行指定的任务。
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

您可以使用它Array#every来执行检查。



let array = [{

    id : 1,

    name : 'Jerry',

    date : '2020 - 07 - 17',

    subject : 'Math'

  },

  {

    id : 2,

    name : 'Tom',

    date : '2015 - 07 - 17',

    subject : 'Science'

  },

  {

    id : 3,

    name : 'Lily',

    date : '2018 - 07 - 17',

    subject : 'Biology'

  }

];

const today = new Date;

if(array.every(({date})=>new Date(date.replace(/\s+/g, '')) > today)){

  console.log('valid');

} else {

  console.log('invalid');

}


查看完整回答
反对 回复 2023-10-14
?
HUH函数

TA贡献1836条经验 获得超4个赞

好像有一些错别字。你的代码应该是这样的。


for (i = 0; i < array.length; i++) {

  const date = new Date(array[i].dates);

  if (date > today) {

    //do something

  } else if (date < today) {

    //do something

  } else {

    //do something

  }

}


查看完整回答
反对 回复 2023-10-14
  • 2 回答
  • 0 关注
  • 57 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信