在下面的代码中,我想首先检查array [b]中小于100的元素,然后将所有这些元素添加到另一个名为resultArray的数组中。就目前而言,少于100个的元素将被打印到控制台,但我想将这些元素添加到resultArray中。 Swift 3中执行此操作的最佳方法是什么?

var value = 1
var resultArray: [Int]
var b = [23,34,67,2,89,76,874]
for var c in b {
    if c < 100 {

        print("Numbers less than 15 are \(c) ")
    }
    c += 1
}

最佳答案

使用简单的过滤器:

let b = [23,34,67,2,89,76,874]
let r = b.filter { $0 < 100 }
print(r)


输出:


  [23,34,67,2,89,76]


如果要使用开始的代码,则需要在c后面附加resultArray并进行其他一些小的调整:

var resultArray: [Int] = []
let b = [23,34,67,2,89,76,874]
for c in b {
    if c < 100 {
        resultArray.append(c)
    }
}
print(resultArray)


另一个选择(感谢Martin R)是:

var resultArray: [Int] = []
let b = [23,34,67,2,89,76,874]
for c in b where c < 100 {
    resultArray.append(c)
}
print(resultArray)

09-08 07:48