2017-02-23 43 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