#javascript #arrays #json #typescript #object
Вопрос:
Как я могу переместить объекты с «Рабочим днем» в массив и заменить «Понедельник», «Вторник» … на «dayIndex», начинающийся с «0» в JavaScript/TypeScript?
Выходной ток:
[
{
'Calendar Name': 'Standard',
'Valid From': 44197,
'Valid To': 44561,
'Use Holidays': 'yes',
'Working Day': 'Monday',
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
'Working Day': 'Tuesday',
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
'Working Day': 'Wednesday',
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
'Working Day': 'Thursday',
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
'Working Day': 'Friday',
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{ 'Working Day': 'Saturday', Start: '-', End: '-' },
{ 'Working Day': 'Sunday', Start: '-', End: '-' }
]
Желаемый JSON:
{
"name": "Standard",
"validFrom": "2021-01-01T00:00:00.000Z",
"validTo": "2021-12-31T00:00:00.000Z",
"useHolidays": true,
"workingDays": [
{
"dayIndex": 0,
"dayStart": "8:00",
"dayEnd": "20:00"
},
{
"dayIndex": 1,
"dayStart": "8:00",
"dayEnd": "20:00"
},
...
{
"dayIndex": 6,
"dayStart": "-",
"dayEnd": "-"
},
],
"uploadedBy": "foo"
}
Комментарии:
1. Ооочень, где код проблемы-который вы пытались написать .. Себя?
Ответ №1:
const array = [
{
"Calendar Name": "Standard",
"Valid From": 44197,
"Valid To": 44561,
"Use Holidays": "yes",
"Working Day": "Monday",
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
"Working Day": "Tuesday",
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
"Working Day": "Wednesday",
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
"Working Day": "Thursday",
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{
"Working Day": "Friday",
Start: 0.3333333333333333,
End: 0.8333333333333334
},
{ "Working Day": "Saturday", Start: "-", End: "-" },
{ "Working Day": "Sunday", Start: "-", End: "-" }
];
let customObject = {
name: "",
validFrom: "",
validTo: "",
useHolidays: true,
workingDays: []
};
array.forEach((t, index) => {
if (index === 0) {
customObject.name = t["Calendar Name"];
customObject.validFrom = t["Valid From"];
customObject.validTo = t["Valid To"];
customObject.useHolidays = t["Use Holidays"];
customObject.uploadedBy = "foo";
}
customObject.workingDays.push({
dayIndex: index,
dayStart: t.Start,
dayEnd: t.End
});
});
console.log(customObject)