如何使用 NodeJs 将返回的二进制值与日期进行比较

问题描述

我正在运行一个 sql 查询,它返回一个days,它由以下类似值 1111100 组成。这里每一位代表每一天,例如说返回值中的第一位 '1' 是星期一,第六位 '0' 是星期六。现在我想根据这些返回值执行一些操作。例如,如果星期一是 '1',我想在星期一触发一个操作,如果星期一是 '0',我不必在星期一执行任何操作。 NodeJs可以用什么方法来实现这个需求

解决方法

// Jobs
let monJob = () => { console.log('Monday') };
let tueJob = () => { console.log('Tuesday') };
let wedJob = () => { console.log('Wednesday') };
let thuJob = () => { console.log('Thursday') };
let friJob = () => { console.log('Friday') };
let satJob = () => { console.log('Saturday') };
let sunJob = () => { console.log('Sunday') };

// Inputs
let bitDays = '0111100';
//let days = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'];

// Verify block
let jobs = [monJob,tueJob,wedJob,thuJob,friJob,satJob,sunJob]
bitDays.split('').forEach((bit,index) => {
    if (bit == '1')
        jobs[index]();
});
,

我认为 Node.js 中没有此功能,但您可以这样做:

const mask = "1111100";
const dayOfWeekMap = [
  "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday",];

for (let idx in mask) {
  if (mask[idx] === "1") {
    console.log(`Do something on ${dayOfWeekMap[idx]}`);
  }
}