如何在其他js中比较一个数组的元素



我有两个数组。从第一天起至第三十一天止。其他数组仅包含日期。

我想将其他数组的日期与第一个数组的日期进行比较。

代码为:

{console.log(publicHolidays, '=================')}
{
daysNumber.map((name, index) => (
<TableCell align="right" key={`mi-${index}`}>{days[this.getDayOfWeek(name)]}</TableCell>
))
}

公共假日:["2020-05-02","2020-05-06","2020-05-21"]

天数:

[
"2020-05-01",
"2020-05-02",
"2020-05-03",
"2020-05-04",
"2020-05-05",
"2020-05-06",
"2020-05-07",
"2020-05-08",
"2020-05-09",
"2020-05-10",
"2020-05-11",
"2020-05-12",
"2020-05-13",
"2020-05-14",
"2020-05-15",
"2020-05-16",
"2020-05-17",
"2020-05-18",
"2020-05-19",
"2020-05-20",
"2020-05-21",
"2020-05-22",
"2020-05-23",
"2020-05-24",
"2020-05-25",
"2020-05-26",
"2020-05-27",
"2020-05-28",
"2020-05-29",
"2020-05-30",
"2020-05-31"
]

如果找到了公共假日的日期,并且该日期是星期六或星期日。那么在这里做一些事情是我的要求。

比如在DaysNumber循环中更改日期的颜色。

类似的东西?

const publicHolidays = ["2020-05-02", "2020-05-06", "2020-05-21"]
const daysNumber = [ "2020-05-01", "2020-05-02", "2020-05-03", "2020-05-04", "2020-05-05", "2020-05-06", "2020-05-07", "2020-05-08", "2020-05-09", "2020-05-10", "2020-05-11", "2020-05-12", "2020-05-13", "2020-05-14", "2020-05-15", "2020-05-16", "2020-05-17", "2020-05-18", "2020-05-19", "2020-05-20", "2020-05-21", "2020-05-22", "2020-05-23", "2020-05-24", "2020-05-25", "2020-05-26", "2020-05-27", "2020-05-28", "2020-05-29", "2020-05-30", "2020-05-31" ]
const getDay = dateString => {
const d = new Date(dateString);
const dayName = d.toLocaleDateString('en-US', { weekday: 'long' });
const weekend = d.getDay() === 0 || d.getDay() === 6;
const pubHol = publicHolidays.includes(dateString);
let className = weekend ? "green" : "white"; // class is a reserved word
if (pubHol) className = "blue";
return { dayName, className };
};
const cells = daysNumber.map((dateString, index) => {
const dateObj = getDay(dateString)
return `<td align="right" class="${dateObj.className}" key="mi-${index}">${dateObj.dayName}</td>`
});
document.getElementById("cal").innerHTML=cells.join("");
td { border: 1px solid black }
.white { color:orange }
.green { color:green }
.blue { color:blue }
<table><tr id="cal"></tr></table>

最新更新