У меня есть некоторые фиктивные данные, как показано ниже:
data: {
first: {
date_2019_01: 10,
date_2019_02: 15,
....
},
second: {
date_2019_01: 30,
date_2019_02: 35,
....
}
}
Мне нужно преобразовать эти исходные данные в следующий формат, где дата в качестве ключа должна быть преобразована в месяц, а ее значение - в рост.
first: [
{
month: 1,
growth: 10
},
{
month: 2,
growth: 15
},
...
],
second: [
{
month: 1,
growth: 30
},
{
}
]
В моем решении я получаю ключи и делю их, чтобы получить желаемый месяц, который передается в новый массив.Но здесь мои коды повторяются.Я учусь качеству кода, который также включает в себя концепцию DRY.
Пожалуйста, кто-нибудь, помогите мне написать этот кусок кода в лучшем формате.
Спасибо.
let first = data["first"];
let firstMonth = [];
Object.keys(first).map(function(key) {
firstMonth.push({
month: key.split('_')[2],
growth: first[key]
});
});
let second = data["second"];
let secondMonth = [];
Object.keys(second).map(function(key) {
secondMonth.push({
month: key.split('_')[2],
growth: second[key]
});
});
let finalData = {
first: firstMonth,
second: secondMonth
}