我有两个二维数组:
product_names_array = [product_one_names = ["Product One A", "Product One B"],
product_two_names = ["Product Two C", "Product Two D"]]
product_prices_array = [product_one_price = [product_one_price_1, product_one_price_2, product_one_price_3, product_one_price_4],
product_two_price = [product_two_price_1, product_two_price_2, product_two_price_3, product_two_price_4]]
在第一个 2D 阵列中,我有 2 个子阵列(实际上有 16 个) - 每个产品一个。它们中的每一个都为同一产品列出了不同的名称(每个产品可以有 1 到 22 个备用名称)。
在第二个 2D 阵列中,我有 2 个子阵列(实际上也有 16 个) - 每个产品每个价目表一个。它们中的每一个都列出了来自前一个 2D 数组中相应子数组的同一产品(实际上为 10 个价格选项)的不同价格(实际上,10 个价格选项)。
我想从数组中得到这样一个散列:
my_hash = {"Product One A" => [product_one_price_1, product_one_price_2, product_one_price_3, product_one_price_4],
"Product One B" => [product_one_price_1, product_one_price_2, product_one_price_3, product_one_price_4],
"Product One C" => [product_two_price_1, product_two_price_2, product_two_price_3, product_two_price_4],
"Product Two D" => [product_two_price_1, product_two_price_2, product_two_price_3, product_two_price_4]}
如您所见,第一个 2D 数组中的每个值都会与第二个 2D 数组中的每个相应数组创建所有可能的组合。
然后我想像这样使用创建的哈希:
puts my_hash["Product One B"[2]] # => product_one_price_3
(我怀疑这个表达的正确性,所以如果你也能帮助我,我会很感激……)
我还想避免定义新方法,因为此代码将在插件 Redmine 的计算自定义字段中使用,并且它不接受 def。
我已经重读了一堆关于Ruby中数组和散列的信息,嗯,到目前为止,我甚至还没有接近解决我的问题。任何帮助都是有益的!
您可以从< code>zip方法中受益,该方法将组合两个数组中的相应元素< br> ([0] - [0]
,< code>[1] - [1]等等)
result = product_names_array.zip(product_prices_array)
.flat_map { |names, prices| names.map { |name| [name, prices] }}
.to_h
result
# output
# product_one_prices: 11, 12, 13, 14
# product_two_prices: 21, 22, 23, 24
{
"Product One A"=>[11, 12, 13, 14],
"Product One B"=>[11, 12, 13, 14],
"Product Two C"=>[21, 22, 23, 24],
"Product Two D"=>[21, 22, 23, 24]
}
寻找一种优雅的方式以特殊的方式合并两个散列数组: 如果名称关键字匹配,则结果必须包含< code>new_data的所有名称散列,仅包含< code>old_data的额外数据。 我的第一次尝试是这样的,但是它创建了一个额外的散列:
我正在使用Redmine和Computed自定义字段插件。 该插件提供了计算自定义字段的可能性,并接受ruby代码进行计算。 在红矿中,我有一个项目(Project_id=11),其中我在每个问题的单独自定义字段中计算产品的成本。它看起来像这样: 每期都有一个自定义字段 (cf_id = 31) 用于选择产品:梨、菠萝、西红柿、椰子。 每个问题都有一个自定义字段 (cf_id = 32),用于输入
问题内容: 我有2个1d数组,而我正在尝试将它们填充到JAVA中的单个2d数组中。 例如: 结果应为: 我该怎么办?我目前有这样的事情: 我有点被困在那里… 问题答案: 2D数组是数组的数组。那你为什么不试试这个呢? 为了确保它是如此简单并且可以正常工作,请进行以下测试:
问题内容: 我试图在尝试对6参数函数进行任何复杂操作之前,遍历6参数函数的参数空间,以研究其数值行为,因此,我正在寻找一种有效的方法来执行此操作。 我的函数将6-dim numpy数组中给出的浮点值作为输入。我最初尝试做的是: 首先,我创建了一个函数,该函数接受2个数组并生成一个包含两个数组中值的所有组合的数组: 然后,我曾经将其应用于同一数组的m个副本: 最后,我这样评估我的功能: 这工作,但它
嗨,我有两个哈希数组,如下所示 如何将它们合并到单个哈希数组中作为〔{“name”= 因为我需要根据哈希转换的管道分隔cucumber表来验证它们,例如|name|value|rihan|true||gihan|true| 对于cucumber表,我使用以下函数将其转换为哈希 对于实际的 JSON 响应,我正在使用递归函数将其提取到两个哈希数组 [A] 和 [B] 上方,但我不确定如何合并它们以与
我正在尝试使用 json 对象的 s3api cli 为 aws 放置对象标记创建“TagSet”。我已经将 json 解析为哈希,这是我实现最终目标的最大成功。 示例 JSON: 结束目标示例: 到目前为止,我已经将 json 解析为哈希,然后使用以下方法将键和值拆分为 2 个数组: 我想我可以遍历每个数组,然后将它们插入到一个数组中。但是我得到的输出是一个递归列表,其中包含了每个值重复出现的所