Я хочу изменить структуру объекта, и я застрял со вчерашнего дня, поэтому мне нужна ваша важная помощь.
В настоящее время структура выглядит следующим образом:
var data = [{
id: 14,
language: "english",
title: "I am a new article",
bodyText: "Article Content",
lang: "eng",
keywords: ["key1", "key2"]
},
{
id: 1,
language: "greeks",
title: "Ειμαι ενα καινουρειο αρθρο",
bodyText: "Κυριο μερος Αρθρου",
lang: "gr",
keywords: ["key1", "key2"]
},
{
id: 1,
language: "espanol",
title: "Soy un nuevo articulo",
bodyText: "Soy un nuevo articulo",
lang: "es",
keywords: ["key1", "key2"]
},
]
Я хочупереставить структуру в следующий формат:
var data = [{
id: 1,
language: {
es: {
title: "Spanish Article",
bodyText: "Content in Spanish"
},
gr: {
title: "Greek Article",
bodyText: "Content in Grecce"
}
},
id: 2,
language: {
en: {
title: "English Article",
bodyText: "Content in English"
}
}
}];
Я написал следующий код для выполнения задачи, но без удачи.
var arr = [];
let result = data.reduce(function(c, v) {
console.log(v.id);
/* console.log(c);
*/
c[v.id] = c[v.id] || {};
c[v.id][v.lang] = c[v.id][v.lang] || {
title: v.title,
bodyText: v.bodyText,
keywords: v.keywords
};
arr.push(c)
return c;
}, {});
console.log(arr);
Я получаю объект, подобный следующему:
[{
id:1,
es:{
title:"Spanish Article",
bodyText:"Content in Spanish"
},
gr:{
title:"Greek Article",
bodyText:"Content in Grecce"
},
id:2,
en:{
title:"English Article",
bodyText:"Content in English"
}
}]
Любая рекомендация приветствуется, заранее спасибо сообществу!