以下是代码片段::
let dayOfWeek=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
let officeHoursList: [
{dayOfWeek: "Wednesday", beginHour: "08:30 AM", endHour: "04:30 PM"}]
这里我需要比较两个数组,如果 dayOfWeek 不存在于 officeHoursList 中,那么它将把剩余的 dayOfWeek 添加到 officeHoursList 中。
例如,在这种情况下,最终输出将是
officeHoursList: [
{dayOfWeek: "Monday", beginHour: "00:00 AM", endHour: "00:00 PM"},
{dayOfWeek: "Tuesday", beginHour: "00:00 AM", endHour: "00:00 PM"},
{dayOfWeek: "Wednesday", beginHour: "08:30 AM", endHour: "04:30 PM"},
.
.
.
{dayOfWeek: "Sunday", beginHour: "00:00 AM", endHour: "00:00 PM"}]
此处数组 officeHoursList 的值是动态的,在本例中它仅包含星期三,但它可以是从星期一到星期日的任何动态值。
提前致谢
最佳答案
使用reduce()
和filter()
方法
let dayOfWeek = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
let officeHoursList = [{dayOfWeek: "Wednesday", beginHour: "08:30 AM", endHour: "04:30 PM"}]
let result = dayOfWeek.reduce((acc, day) => {
let officeHour = officeHoursList.filter(officeHour => officeHour.dayOfWeek === day)
if (officeHour.length) {
acc.push(officeHour)
} else {
acc.push({dayOfWeek: day, beginHour: "00:00 AM", endHour: "00:00 PM"})
}
return acc;
}, [])
console.log(result)
关于javascript - 如何用特定值替换数组并添加到特定索引中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57612512/