對本科生或天資聰穎的人來說這問題真的沒什麼,但對於初學者且還只有教科書程度的我,要我從一組複雜陣列中篩選出特定值,然後對其篩選出的值去做標示的處理,原則原理我懂,但需要容我花時間理一下,所以就把這簡單紀錄一下,讓自己下次遇到的時候可以快速記憶
若想在一陣列(以下稱A陣列)中篩選出是否有特定值,可以如下方範例所示,先建立一個篩選結果的空陣列(以下稱B陣列),然後用迴圈將A陣列的符合篩選的值放進B陣列中,當B陣列的數量大於0,代表A陣列中有符合我們要篩選的值(下面範例是篩選false值)
var originArray:[Any] = ["true",true,false,5520,”999"]
private var testBoolArray = [Bool]()
for i in 0 ..< originArray.count {
let result = originArray[i] as? Bool
testBoolArray.append(result!)
}
let resultArray = testBoolArray.filter { (item) -> Bool in
return item == false
}
if resultArray.count > 0 {
print("testBoolArray陣列中被篩選出有false值")
}
else {
print("testBoolArray陣列中沒有false值")
}
以前在上課的時候,沒有認真學陣列,老師講過聽過自己打一遍,然後就覺得自己好像是會了XD
沒真的遇到問題時,完全無法檢視自己到底是會了沒(大概是頭腦不靈光),
所以真的只有自己踏過的才是路啊~共勉之~