为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
好吧,我编辑我的答案 –