У меня есть массив JavaScript, который выглядит так:
var arr = ["[Dim1].[Mem1].&[1]",
"[Dim2].[Mem1].&[2]",
"[Dim1].[Mem1].&[5]",
"[Dim2].[Mem1].&[77]",
"[Dim3].[Mem1].&[1]"
]
Мне нужен вывод в этом формате:
{
[Dim1].[Mem1].&[1], [Dim1].[Mem1].&[5]
},
{
[Dim2].[Mem1].&[2], [Dim2].[Mem1].&[77]
},
{
[Dim3].[Mem1].&[1]"]
}
Идея состоит в том, чтобы разделить каждое значение на основе ". &", А затем группировать по результату [0].
Я могу это сделать:
Как я могу достичь этого, используя "lodash" или любую другую библиотеку на основе JS, которая уменьшит код и сделает метод компактным?
Довольно буквально, на самом деле:
_.chain(arr)
.invoke("split", ".&")
.groupBy(0)
.map(function(els) {
return "{\n\t"+ _.invoke(els, "join", ".&").join(", ") + "\n}";
})
.value().join(",\n");