我正在尝试按照排序(by:[[Int]]
)对6行6列的{ $0[0] < $1[0] }
排序数组。
但排序数组只按行中的第一个数字排序!
这是示例源数组:
5; 8; 1; 13; 2; 6
20; 8; 19; 12; 41; 13
23; 14; 15; 36; 7; 18
9; 27; 21; 12; 3; 44
25; 16; 7; 18; 9; 30
1; 32; 13; 34; 25; 45
这就是我在排序后得到的:
1; 32; 13; 34; 25; 45
5; 8; 1; 13; 2; 6
9; 27; 21; 12; 3; 44
20; 8; 19; 12; 41; 13
23; 14; 15; 36; 7; 18
25; 16; 7; 18; 9; 30
我不需要更改行的顺序。我需要得到类似的东西 的是:
1; 2; 5; 6; 8; 13
8; 12; 13; 19; 20; 41
7; 14; 15; 18; 23; 36
3; 9; 12; 21; 27; 44
7; 9; 16; 18; 25; 30
1; 13; 25; 32; 34; 45
Here是我的示例输出。 我将不胜感激任何帮助!
答案 0 :(得分:1)
由于值语义,您必须将map
数组添加到其已排序的内容
let array = [[5,8,1,13,2,6],
[20,8,19,12,41,13],
[23,14,15,36,7,18],
[9,27,21,12,3,44],
[25,16,7,18,9,30],
[1,32,13,34,25,45]]
let sortedArray = array.map{ $0.sorted() }
print(sortedArray)