Sorting an array by category names

来源:互联网 发布:mac 网桥 编辑:程序博客网 时间:2024/06/10 21:44
1、a = [    {id: 3, category_name: "Horror"},    {id: 4, category_name: "Non-Fiction"},    {id: 5, category_name: "LGBT"},    {id: 6, category_name: "Romance"},    {id: 7, category_name: "Romance"}]categories_sorted = [   "Romance",   "LGBT",   "Non-Fiction",   "Horror"]p a.sort_by { |h| [categories_sorted.index(h[:category_name]), h[:id]] }
2、a.group_by { |h| h[:category_name] }.values_at(*categories_sorted).flatten

0 0
原创粉丝点击