質問編集履歴
2
コードを追加しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,4 +25,60 @@
|
|
25
25
|
5:4
|
26
26
|
```
|
27
27
|
とするにはどうしたらよいでしょうか?
|
28
|
-
よろしくお願い致します。
|
28
|
+
よろしくお願い致します。
|
29
|
+
|
30
|
+
追加-----------------------
|
31
|
+
|
32
|
+
ソートするArray"str2"の中身です
|
33
|
+
|
34
|
+
```swift
|
35
|
+
var str2: Array<Array<String>> = []
|
36
|
+
|
37
|
+
// CSV読み込み
|
38
|
+
if let csvPath = Bundle.main.path(forResource: "test", ofType: "csv") {
|
39
|
+
do {
|
40
|
+
var csvString = try NSString(contentsOfFile: csvPath, encoding: String.Encoding.utf8.rawValue) as String
|
41
|
+
csvString = csvString.replacingOccurrences(of: "\r\n", with: "")
|
42
|
+
let array2:Array = csvString.components(separatedBy: ",")
|
43
|
+
|
44
|
+
var items2 = [String]()
|
45
|
+
array2.enumerated().forEach { (index, value) in
|
46
|
+
|
47
|
+
items2.append(value)
|
48
|
+
|
49
|
+
if (index + 1) % 7 == 0{
|
50
|
+
|
51
|
+
if exist == true{
|
52
|
+
|
53
|
+
str2.append(items2)
|
54
|
+
|
55
|
+
items2 = [String]()
|
56
|
+
exist = false
|
57
|
+
|
58
|
+
}else{
|
59
|
+
items2 = [String]()
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
}
|
64
|
+
} catch {
|
65
|
+
// エラー
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|
69
|
+
for i in 0...str2.count-1 {
|
70
|
+
|
71
|
+
if str2[i][5] == "有" {
|
72
|
+
|
73
|
+
str.append(str2[i])
|
74
|
+
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
str2 = str
|
79
|
+
|
80
|
+
str2.remove(at: 0)
|
81
|
+
str2.sort { $1[6] < $0[6] }
|
82
|
+
|
83
|
+
}
|
84
|
+
```
|
1
質問文全体を更新しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,22 +5,24 @@
|
|
5
5
|
```Swift
|
6
6
|
str.sort { $1[5] < $0[5] }
|
7
7
|
```
|
8
|
-
と書いているのですが、
|
8
|
+
と書いているのですが、String型のため一桁目の文字でソートされてしまい
|
9
|
-
41番目以降はそれ以降の要素で再度ソートされるようになってしまいます。
|
10
9
|
```Swift
|
11
10
|
0:50
|
12
|
-
1:
|
11
|
+
1:50
|
12
|
+
2:5
|
13
|
+
3:40
|
14
|
+
4:4
|
15
|
+
5:30
|
16
|
+
```
|
17
|
+
となってしまいます。
|
18
|
+
これを数字通り
|
19
|
+
```Swift
|
20
|
+
0:50
|
21
|
+
1:50
|
13
22
|
2:40
|
14
|
-
|
23
|
+
3:30
|
15
|
-
|
24
|
+
4:5
|
16
|
-
41:50
|
17
|
-
42:50
|
18
|
-
|
25
|
+
5:4
|
19
26
|
```
|
20
|
-
のような結果になってしまいます。
|
21
|
-
|
22
|
-
試しに他のArrayでこのコードを試してみたのですが、
|
23
|
-
そちらの場合はすべての要素をまとめてソートできていました。
|
24
|
-
|
25
|
-
|
27
|
+
とするにはどうしたらよいでしょうか?
|
26
28
|
よろしくお願い致します。
|