【发布时间】:2018-05-28 08:59:33
【问题描述】:
考虑这个对象,有两个使用 NL 语言和一个使用 EN 语言的通道:
[
{
"name": "De Redactie",
"channels": [
{
"name": "headlines",
"pubDate": "2017-05-15 09:15:00",
"language": "nl",
"items": [
]
},
{
"name": "headlines English",
"pubDate": "2017-05-14 18:05:00",
"language": "en",
"items": [
]
},
{
"name": "politiek",
"pubDate": "2017-05-14 20:11:00",
"language": "nl",
"items": [
]
}
]
}
]
我怎样才能把它们分开,这样我才能得到这个结果:
[
{
"name": "De Redactie",
"channels": [
{
"name": "headlines",
"pubDate": "2017-05-15 09:15:00",
"language": "nl",
"items": [
]
},
{
"name": "politiek",
"pubDate": "2017-05-14 20:11:00",
"language": "nl",
"items": [
]
}
]
}
{
"name": "De Redactie",
"channels": [
{
"name": "headlines English",
"pubDate": "2017-05-14 18:05:00",
"language": "en",
"items": [
]
}
]
}
]
请注意,这是 dummyData。实际数据可以包含 x 量的一种语言和 y 量的第二或第三或第四...
我尝试在 lodash 文档中查找正确的功能组合。还尝试了各种复杂的 forEach 结构,但无法理解它。
最好使用 lodash 或 typescript 的解决方案,因为我正在使用 Angular 4。
【问题讨论】:
-
数据和结果是一个有对象的数组?如果是这样,请更新问题以包含原始数据结构和最终结果。
-
这是原始数据的简化版本。它太大了,无法在问题中发布
-
我知道。我不想要所有数据,只想要结构。您是否有一个包含所有数据的对象,或者这个对象是更大数组的一部分?最终结果是不是一个数组?
-
@Ori Drori。我明白了,我以为我的数据结构正确,但我确实忘记添加数组了。现在它是正确的数据结构,抱歉。
-
@Robby Cornelissen 我感谢您对否决票的解释。但是“不尝试”有点苛刻,我只是忘了添加父数组,我的错。现已修复。
标签: arrays angular typescript object lodash