Ваша цель - подсчитать, сколько элементов соответствует условию, которое в вашем случае, если число четное (number % 2 == 0
), а затем вам нужно его распечатать.
Для этого сначала получите число этихэлементы, которые соответствуют условию, а затем выведите это число.
Чтобы его было проще понять, я оставлю ваш для каждого цикла
var matching = 0
for myInt in myArray {
if myInt % 2 == 0 {
matching += 1 // if number matching condition, increase count of matching elements
}
}
print(number)
В любом случае вы можете сделать это намного проще, используя дляпример подсчета для отфильтрованных элементов (он подсчитывает, сколько элементов было отфильтровано)
let matching = myArray.filter({ $0 % 2 == 0 }).count
или вы можете использовать reduce
, которые увеличивают начальное значение каждый раз, когда условие элемента соответствует
let matching = myArray.reduce(0) { $1 % 2 == 0 ? $0 + 1 : $0 }
На будущее: в Swift 5 вы можете использовать недавно введенный метод count(where:)
, который подсчитывает количество элементов, соответствующих условию
let matching = myArray.count(where: { $0 % 2 == 0 })