-3

所以我从几个数据库中获取了一堆信息来获取一组值,它们的名称和顺序是:

['type', 'baseid', 'lotid', 'split', 'sub', 'sequence', 'resourceid', 'user1', 'user2', 'part', 'department']

所以我有一个数组,我把它放到一个表格视图中,我需要按部门值重新排列数组,而不改变内部数组的任何顺序,这样在表中所有程序集都在一起,所有 GMBEAD BLAST 都是一起等...

具有值的数组示例如下所示:

[[EDM, M, 887013393, C, 0, 2, 50, GE_1_INS], [QUALITY, M, 887013393, C, 0, 2, 60, GMDEBURR], [FINISH, M, 887013393, C, 0, 2, 70, GMBEAD BLAST]]

是的,我尝试了一些.sort.sort_by方法,但是使用数组中的数字,当我输入排序方法时,它甚至不会让我运行程序。

4

2 回答 2

1

你想要这样的东西:

sorted_array = your_array.sort_by {|inner_array| inner_array.last }

您遇到的错误听起来像是您正在尝试对内部数组进行排序,但这是行不通的。

于 2013-04-08T14:38:26.897 回答
1

“它甚至不允许我运行程序”是什么意思?假设部门总是最后一列,一个简单的 my_array.sort{ |a,b| a.last <=> b.last } 应该可以解决问题。

于 2013-04-08T14:36:17.310 回答