我有一个看起来像这样的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"]
}
我可以通过以下方式完成此任务:
是否有借助模板或手柄模板或任何其他JavaScript库实现此目的?
答案 0 :(得分:1)
您可以使用_.groupBy
和正则表达式对元素进行分组
var regExp = /\[(.*?)\]/g;
console.log(_.groupBy(arr, function(currentItem) {
var match, result = "";
while ((match = regExp.exec(currentItem)) !== null) {
result += match[1];
}
return result;
}));
<强>输出强>
{ Dim1Mem1: [ '[Dim1].[Mem1].&1', '[Dim1].[Mem1].&5' ],
Dim2Mem1: [ '[Dim2].[Mem1].&2', '[Dim2].[Mem1].&77' ],
Dim3Mem1: [ '[Dim3].[Mem1].&1' ] }