我有一个数组,包含n一定数量的元素。每个元素包含两个单词。
这使得数组看起来像这样:['England John', 'England Ben', 'USA Paul', 'England John']
我想找到每个国家/地区的唯一名称的数量。例如,England将有 2 个唯一的名称,因为John存在两次。
到目前为止,我已将数组分成两个数组,一个包含国家,例如['England', 'Usa', ...],另一个包含名称['John', 'Paul', ...],但是我不确定从这里去哪里
我正在尝试转换以下内容:
dep = [
{id: 1, depen: 2},
{id: 1, depen: 3},
{id: 3, depen: 4},
{id: 5, depen: 3},
{id: 3, depen: 6}
]
Run Code Online (Sandbox Code Playgroud)
变成单个哈希:
# {1=>2, 1=>3, 3=>4, 5=3, 3=>6}
Run Code Online (Sandbox Code Playgroud)
我尝试了在另一个问题上找到的解决方案:
dep.each_with_object({}) { |g,h| h[g[:id]] = g[:dep_id] }
Run Code Online (Sandbox Code Playgroud)
但是,输出删除了元素并给了我:
#{1=>3, 3=>6, 5=>2}
Run Code Online (Sandbox Code Playgroud)
最后一个元素也不正确的地方。