Есть вот такой объект:
dropdown: DropDown [] = [
{
'month': 'jan',
'days': [
{'day': 'monday'},
{'day': 'sunday'}
]
},
{
'month': 'feb',
'days': [
{'day': 'monday-f'},
{'day': 'sunday-f'}
]
}
];
то есть у него интерфейс такой:
interface DropDown {
month: string;
days: Days[];
}
interface Days {
day: string;
}
Теперь мне надо его преобразовать в такой объект:
interface DropDownEx {
month: string;
isOpen: boolean;
days: Days[];
}
interface Days {
day: string;
isOpen: boolean;
}
то есть надо добавить поля isOpen. Но не получается.
Делаю это таким образом:
updateData (rows: DropDown[]) {
const res: DropDownEx[] = rows.map(r => {
return { month: r.month, isOpen: false, days: [] };
});
res.forEach(p => {
let daysGroup = rows.filter(r => r.month === p.month);
p.days = daysGroup.map(r => {
// вот тут не могу дать значения для day
return { day: '', isOpen: false};
});
});
console.log(res);
return res;
}
А вот ссылка на
plunker
Как решить проблему? Спасибо!