我反对那些员工计划在那天工作的日子。在网站上我需要将剩余的一天显示为休假。如果为员工分配了两个不同的班次,则该对象可以有两个元素。
var WorkDays = [{day:3}, {day:3}, {day:1}, {day:1}, {day:0}];
var days = [0, 1, 2, 3, 4, 5, 6}];
新创建的WordDays应该看起来像这样
WorkDays = [{day:0}, {day:1}, {day:1},{day:2}, {day:3}, { day:3} ,{ day:4}, {day:5}, {day:6}];
答案 0 :(得分:1)
假设您的意思是: [{day:0}, {day:1},...]
您可以使用reduce
功能。
var WorkDays = [{day:3}, {day:3}, {day:1}, {day:1}, {day:0}],
days = [0, 1, 2, 3, 4, 5, 6],
result = days.reduce((days, c) => {
if (!days.some(({day}) => day === c)) days.push({day: c});
return days;
}, WorkDays).sort((a, b) => a.day - b.day);
console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }