簡體   English   中英

使用lodash在JavaScript數組中進行字符串操作

[英]String manipulation in JavaScript array using lodash

我有一個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]分組。

我能夠做到這一點:

  1. 循環遍歷數組中的所有項目,然后將它們拆分為。&
  2. 基於[dim]。[mem]組合創建另一個列表。 在我們的例子中,列表將包含[Dim3]。[Mem1],[Dim1]。[Mem1],[Dim2]。[Mem1]。
  3. 現在有兩個循環 - 一個用於唯一列表中的每個項目,一個用於原始列表中的每個項目並檢查項目是否是原始列表包含唯一列表中的當前項目然后形成字符串。

如何使用“lodash”或任何其他基於JS的庫來實現這一點,這將減少代碼並使方法緊湊?

實際上,實際上:

_.chain(arr)
.invoke("split", ".&")
.groupBy(0)
.map(function(els) {
    return "{\n\t"+ _.invoke(els, "join", ".&").join(", ") + "\n}";
})
.value().join(",\n");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM