如何在 JavaScript 中使用 map 函数来判断时间是否处于特定时间范围内?


假设我们的科目记录计划的学习时间如下 −

const scheduleDetails = [
   { subjectName: 'JavaScript', studyTime: '5 PM - 11 PM' },
   { subjectName: 'MySQL', studyTime: '12 AM - 4PM' }
]

我们可以使用 map() 函数。以下是代码 −

示例

const scheduleDetails = [
   { subjectName: 'JavaScript', studyTime: '5 PM - 11 PM' },
   { subjectName: 'MySQL', studyTime: '12 AM - 4PM' }
]
function timeToReadSubjectName(scheduleDetails) {
   var currentTime = new Date().getHours();
   let result = '';
   scheduleDetails.map(obj => {
      const hourDetails = obj.studyTime.split(' ');
      const firstCurrentTime = hourDetails[1] === 'PM' ? 12 : 0;
      const secondCurrentTime = hourDetails[4] === 'PM' ? 12 : 0;
      if (currentTime > (+hourDetails[0] + firstCurrentTime) &&
      currentTime < (+hourDetails[3] + secondCurrentTime)) {
         result = obj.subjectName;
      };
   })
   return result;
}
console.log("The Subject which you need to read in this
time="+timeToReadSubjectName(scheduleDetails));

要运行上面的程序,你需要使用以下命令 −

node fileName.js.

我的文件名是 demo128.js。

输出

这将生成以下输出 −

PS C:\Users\Amit\JavaScript-code> node demo128.js
The Subject which you need to read in this time=JavaScript

更新日期:10-Sep-2020

171 次浏览

启动你的职业

完成课程并获得认证

开始
广告