2017-02-23 37 views
0

我需要一些幫助。我想檢查有多少個布爾值(true,false)在數組中。如何僅使用if語句來檢查它。如何檢查數組中有多少虛假項目(SWIFT3)

var voteArray: Bool = [true,false,true,false,true,true,false,false,true] 

,然後添加[true]到其他陣列,並[false]到其他

回答

1

您可以filter你該陣列。

var voteArray = [true,false,true,false,true,true,false,false,true] 
let trueArray = voteArray.filter { $0 } 
let falseArray = voteArray.filter { !$0 } 
//If you want count also then simply access count property of both trueArray and falseArray 

編輯:正如評論你剛纔提到要與for loop來處理這個問題,我不知道爲什麼你要這樣,但你問,所以你可以去喜歡這種方式。

var voteArray = [true,false,true,false,true,true,false,false,true] 
var trueArray = [Bool]() 
var falseArray = [Bool]() 
for item in voteArray { 
    if item { 
     trueArray.append(item) 
    } 
    else { 
     falseArray.append(item) 
    } 
} 

//Or you can go with individual for loop for both true and false 

//For true 
for item in voteArray where item { 
    trueArray.append(item) 
} 

//For false 
for item in voteArray where !item { 
    falseArray.append(item) 
} 
+0

我知道我在棧上找到了這個方法,但是我試着用if語句做這個,​​你知道怎麼做嗎? – archer

+0

@Marcin你可以多解釋一下你想要什麼,如果用更多的細節編輯你的問題,你的意思是什麼。 –

+0

我想創建for ... in循環,循環投票集合中的一個並檢查每個投票的值。如果投票結果爲真,循環應該向yes變量添加一票。如果它是假的,它應該向no變量添加一個投票。 – archer