我有对象的具有独特的ID的数组:合并对象的两个阵列中的Ruby
[{id: 1, score: 33}, {id: 23, score: 50}, {id:512, score: 27}, ...]
我也有用户记录具有匹配的ID的数组。用户记录有“名称”但不是“得分”:
[{id: 1, name: "Jon"}, {id: 23, name: "Tom"}, {id: 512, name: "Joey"}, ...]
如何创建一个包含每个ID,名称和分数的单个数组?
[{id: 1, name: "Jon", score: 33}, {id: 23, name: "Tom", score: 50}, {id: 512, name: "Joey", score: 27}, ...]
我试过merge
,combine
,filter
等,但还没有找到Ruby的功能来做到这一点。
有趣的 - 谢谢帕维尔!你是否也知道一个函数,可以让我从给定ID的分数中找到匹配的对象? –
实际上,这是['find'](http://ruby-doc.org/core-2.1.0/Enumerable.html#method-i-find)(来自'Enumerable'模块,它包含在[ 'Array'](http://ruby-doc.org/core-2.2.0/Array.html))。你应该使用:'scores.find {| element |元素[:id] == 123}'。检查更多示例的文档。希望有所帮助! –