From this question(@mudasobwa);
input.sort_by { |h| sorter.index(h[:id]) }
在一些不幸的案件中; sorter.index(h[:id])
返回nil,然后返回错误
如何清楚地避免这样的错误发生,同时对数组的其余部分进行排序?
答案 0 :(得分:1)
input.sort_by { |h| [sorter.index(h[:id]) ? 1 : 0, sorter.index(h[:id])] }
这将获取所有值,根据它们是否具有最初可用的sorter.index(h [:id])对它们进行排序,然后按该值对具有该值的那些值进行排序