在Swift

时间:2018-03-13 07:19:44

标签: sorting multidimensional-array swift4

我正在尝试按照排序(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是我的示例输出。 我将不胜感激任何帮助!

1 个答案:

答案 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)