计算结构数组中相同值的数量

汤姆

在这里进行了搜索,但大多数答案似乎都与布尔值有关。我定义并初始化了一个结构,如下所示:

Struct Question {
   var subjectID: Int
   var questionID: Int
}

//Examples
let questionOne = Question(subjectID: 0, questionID: 0)
let questionTwo = Question(subjectID: 0, questionID: 1)
let questionThree = Question(subjectID: 0, questionID: 2)
let questionFour = Question(subjectID: 1, questionID: 0)

//An array populated with the above
var questions = [Question]()

我想知道如何计算:

1) questionsArray中唯一subjectID 值的数量答案应该是2。

2) questionsArray 中的问题数,其中 subjectID == 0 或 1。答案应为 [3, 1]。

我已经探索过.filter.map但也许我在错误的切线上?谢谢

爱隆

对于 1) 您将手动过滤掉重复值。您可以像这样获得所有subjectIDs的数组.map

let subjectIDs = questions.map { $0.subjectID } 

对于 2),您可以简单地使用如下.filter函数:

let subjectIdXCount = questions.filter { $0.subjectID == x }.count 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章