爲Jekyll寫一個插件,因爲我還不熟悉 如何做.select
,.map
和他們所有的朋友關於數組除了簡單的一個陣列的情況下)從一個陣列返回元素,基於另一個陣列的值
所以我現在的問題是,有此作爲文檔數組,與他們相關的sha1sum
代碼:
[
[
#<Jekyll::Document _projects/1st-project.md collection=projects>,
"8f918a3d8263a957c206a9864d3507aaa5277a79"
],
[
#<Jekyll::Document _posts/2nd-project.markdown collection=posts>,
"ca81eda5d49100bdf23db16fe1c9d17040fd33f8"
],
[
#<Jekyll::Document _posts/3rd-project.markdown collection=posts>,
"37bf18464b00c9a808436853bc6d868aff218eb6"
],
...
...
]
而在另一邊,連鎖羣的像散所以:
{
"linkage_groups"=>
[
{
"group_name"=>"test1",
"sha1_sums"=> [
"ca81eda5d49100bdf23db16fe1c9d17040fd33f8",
"37bf18464b00c9a808436853bc6d868aff218eb6"
]
},
{
"group_name"=>"test1",
"sha1_sums"=> [
"154c255d59e6063fc609ade2254dc1b09d1de8ab",
"3e9ef9f059786888e39df608d104263cf0fdae76"
]
}
]
}
如何將能夠通過循環這些基團一次一個,並從上述 陣列,其中一個文件,sha1_sum
是存在於特定組返回的每個組的sha1_sums
文檔。
預期輸出將是散列對於每個組的陣列,保持 文檔其中滿足條件,對他們的sha1_sum
存在的基團中:
例第二和第三個項目符合條件,因爲他們sha's
是一個名爲test1
[
{
"test1" => [#<Jekyll::Document _posts/2nd-project.markdown collection=posts>, #<Jekyll::Document _posts/3rd-project.markdown collection=posts]
},
{
"test2" => [..., ...]
},
{
"test3" => [..., ...]
},
...
]
由於從@Lukas Baliak答覆組 -
以下是我在屬於同一兩個散列的情況下,我得到組:
{
"ca81eda5d49100bdf23db16fe1c9d17040fd33f8"=>"test1",
"b673be35ad73ab48da23b271ab0dda95ea07c905"=>"test1",
"154c255d59e6063fc609ade2254dc1b09d1de8ab"=>"test2",
"3e9ef9f059786888e39df608d104263cf0fdae76"=>"test2"
}
[
[
#<Jekyll::Document _projects/my-first-project.md collection=projects>,
"b673be35ad73ab48da23b271ab0dda95ea07c905"
],
[
#<Jekyll::Document _posts/2016-06-05-one-more-post.markdown collection=posts>,
"ca81eda5d49100bdf23db16fe1c9d17040fd33f8"
]
]
{
"test1"=> [#<Jekyll::Document _posts/2016-06-05-one-more-post.markdown collection=posts>, "ca81eda5d49100bdf23db16fe1c9d17040fd33f8"]
}
只列出一個文件,爲什麼? b673be35ad73ab48da23b271ab0dda95ea07c905
在哪裏?
向我們展示一些預期的輸出。 –
@LukasBaliak請參閱上面的最新內容。 – branquito
好吧,我編輯我的答案 –