gpt4 book ai didi

ruby - 通过另一个数组搜索二维数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:48:33 25 4
gpt4 key购买 nike

我有两个数组。一个映射器和一个有我 ID 的。

带有外部 ID 的我的数组:

genres_array = [12,28,16]

映射器数组(内部 ID、外部 ID)

mapper = [
[1,12],
[2,18],
[3,19],
[4,28],
[5,16],
[6,90],
]

作为结果,我现在想要一个新数组,其中只有 genres_array 的内部值(genres_array 首先具有外部值)。在这种情况下,结果将是 [1,4,5]

我尝试了很多方法,但我真的不知道如何以干净的方式解决这个简单的问题。我很确定它会是这样的

genres_array.map { |genre_id| get_internal_id_from_mapper }

PS:也有可能在映射器中找不到 ID。在那种情况下,我只想将它从数组中删除。有什么想法吗?

最佳答案

您正在寻找rassoc:

genres_array.map { |genre_id| mapper.rassoc(genre_id)[0] }

结果

[1, 4, 5]

编辑:只需阅读 PS - 尝试这样的事情:

genres_array.map { |genre_id|
subarr = mapper.rassoc genre_id
subarr[0] if subarr
}.compact

然后输入

genres_array = [12,28,100,16]

你仍然会得到输出

[1, 4, 5]

关于ruby - 通过另一个数组搜索二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19869743/

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