排序後的數組,我想用的名字斯威夫特 - 顯示與按鍵
一起顯示的三個最高等級我的代碼:
let gradesofStudent = [
"Elias Brown": 80,
"Baris Yan": 99,
"Christian Najm": 70,
"Sam Chakra": 90,
"Alain Elliot": 55,
"Georges Obama": 77,
]
var y = " "
var name = " "
func mainFunction(stDictionary: Dictionary<String, Int>) -> ArraySlice<String>{
var emptyDic: [String: String] = [:]
for (keys, value) in gradesofStudent {
if value > 0 && value <= 59 {y = "F"}
else if value >= 60 && value <= 69 {y = "D"}
else if value >= 70 && value <= 79 {y = "C"}
else if value >= 80 && value <= 89 {y = "B"}
else {y = "A"}
emptyDic[keys] = y
}
var arrayGrades = (Array(emptyDic).sorted{$0.1 < $1.1}).map{(k,v) in return(k:v)}
var firstThree = arrayGrades[0..<3]
return(k: firstThree)
}
let v = mainFunction(stDictionary:gradesofStudent)
print (v)
我得到以下輸出:
[ 「A」,「A」,「B」]
我想得到的是類似於[「Baris Yan」:「A」,「Sam Chakra」:「A」,「Elias Brown」:「B 「]
由於我似乎無法直接對字典進行排序,我無法確定如何顯示名稱。
如果你將'var Student:'var name:String','var Student:Int'成員,計算屬性'var letterRepresentation:String {...}'和**數組**實例。順便說一句:根據定義,字典是無序的。 – vadian
斯威夫特2或3?你的代碼在Swift 3中給出了錯誤0 –