const data = [
{"reportYear":2017,"reportWeek":49,"employeeCode":100,"employeeName":"Peter","importanceDegree":182.0},
{"reportYear":2017,"reportWeek":51,"employeeCode":100,"employeeName":"Peter","importanceDegree":231.0},
{"reportYear":2017,"reportWeek":52,"employeeCode":100,"employeeName":"Peter","importanceDegree":77.0},
{"reportYear":2018,"reportWeek":1,"employeeCode":100,"employeeName":"Peter","importanceDegree":55.0},
{"reportYear":2018,"reportWeek":2,"employeeCode":100,"employeeName":"Peter","importanceDegree":101.0},
{"reportYear":2018,"reportWeek":3,"employeeCode":100,"employeeName":"Peter","importanceDegree":982.0},
{"reportYear":2018,"reportWeek":4,"employeeCode":100,"employeeName":"Peter","importanceDegree":744.0},
{"reportYear":2018,"reportWeek":8,"employeeCode":100,"employeeName":"Peter","importanceDegree":698.0},
{"reportYear":2018,"reportWeek":9,"employeeCode":100,"employeeName":"Peter","importanceDegree":235.0},
{"reportYear":2018,"reportWeek":12,"employeeCode":100,"employeeName":"Peter","importanceDegree":657.0},
{"reportYear":2018,"reportWeek":13,"employeeCode":100,"employeeName":"Peter","importanceDegree":251.0},
{"reportYear":2018,"reportWeek":14,"employeeCode":100,"employeeName":"Peter","importanceDegree":147.0},
{"reportYear":2018,"reportWeek":15,"employeeCode":100,"employeeName":"Peter","importanceDegree":156.0},
{"reportYear":2018,"reportWeek":19,"employeeCode":100,"employeeName":"Peter","importanceDegree":481.0},
{"reportYear":2018,"reportWeek":20,"employeeCode":100,"employeeName":"Peter","importanceDegree":639.0},
{"reportYear":2018,"reportWeek":21,"employeeCode":100,"employeeName":"Peter","importanceDegree":256.0},
{"reportYear":2018,"reportWeek":30,"employeeCode":100,"employeeName":"Peter","importanceDegree":324.0},
{"reportYear":2018,"reportWeek":31,"employeeCode":100,"employeeName":"Peter","importanceDegree":852.0},
{"reportYear":2019,"reportWeek":3,"employeeCode":100,"employeeName":"Peter","importanceDegree":361.0},
];
let year = 2017;
let week = 49;
while (year !== 2019 || week !== 3) {
const foundObjectIndex = data.findIndex(
({ reportYear, reportWeek }) => reportYear === year && reportWeek === week
);
if (foundObjectIndex === -1) {
data.push({
reportYear: year,
reportWeek: week,
employeeCode: 100,
employeeName: 'Peter',
importanceDegree: 0,
});
}
week++;
if (week === 53) {
week = 1;
year++;
}
}
data.sort((a, b) => {
if (a.reportYear !== b.reportYear) return a.reportYear - b.reportYear;
if (a.reportWeek != b.reportWeek) return a.reportWeek - b.reportWeek;
return b.importanceDegree - a.importanceDegree;
});
console.log(data);