【问题标题】:Rails generate array of hashRails 生成哈希数组
【发布时间】:2018-06-13 11:03:04
【问题描述】:

我有一个数组,我想生成一个带有散列的数组,并在该散列中再添加一个数据。我有一个数据数组:

   [
        {
        id: 1,
        name:"abc"
        title:"xyz"
        },
        {
        id: 2,
        name:"abc1"
        title:"xyz1"
        },
   ]

我想生成这样的输出:

[
{        
    type: "column",
    dataPoints: [
    {y: 1, label: "abc"},
    {y: 2 ,label: "xyz"}
     ]
},
{        
    type: "column",
    dataPoints: [
    {y: 1, label: "abc1"},
    {y: 2 ,label: "xyz"}
    ]
 }         
]

如何使用 map 或任何数组循环创建这种数组散列。我正在尝试为图表生成数据点。我正在寻找可能的最佳解决方案。

【问题讨论】:

  • 到目前为止这没有任何意义。你能解释一下问题中给出的如何从输入到达输出的逻辑吗?

标签: ruby-on-rails arrays hash


【解决方案1】:

其中一个选项:

array = [
  {
    id: 1,
    name:"abc",
    title:"xyz"
  },
  {
    id: 2,
    name:"abc1",
    title:"xyz1"
  }
]


[:name, :title].map do |column_name|
  { 
    type: 'column',
    dataPoints: array.map do |el| 
      { y: el[:id], label: el[column_name] }
    end
  }
end

# or in one line:

[:name, :title].map { |column_name| { type: 'column', dataPoints: array.map { |el| { y: el[:id], label: el[column_name] } } } }

【讨论】:

    猜你喜欢
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多