0, "MO" => 2 } 我怎-6ren">
gpt4 book ai didi

ruby - 如何将数组转换为散列,其键是数组值,值是数组的索引

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:13 25 4
gpt4 key购买 nike

数组格式如下(数组中的值不会重复):

["ID", nil, "MO"]

我想删除 nil,但散列值应将索引存储在原始数组中。预期结果:

{
"ID" => 0,
"MO" => 2
}

我怎样才能以优雅的方式做到这一点?

最佳答案

["ID", nil, "MO"]
.each.with_index.with_object({}){|(e, i), h| h[e] = i unless e.nil?}
# => {"ID"=>0, "MO"=>2}

["ID", nil, "MO"]
.each.with_index.to_h.reject{|k, v| k.nil?}
# => {"ID"=>0, "MO"=>2}

关于ruby - 如何将数组转换为散列,其键是数组值,值是数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29275807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com