在检查数组1中的特定条件后,如何将元素从一个数组(数组1)添加到另一个数组(数组2)?

时间:2016-10-28 05:08:19

标签: arrays swift

在下面的代码中,我想首先检查数组[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
}

2 个答案:

答案 0 :(得分:0)

使用简单的过滤器:

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)

答案 1 :(得分:0)

最好使用a启动数组名称,并根据条件生成数组,由

给出
 var a = [23,34,67,2,89,76,874]
 var resultArray = [Int]()

    for var x in a {
    if x < 100 {
        resultArray.append(x)
    }
}

这里,x在每次迭代时只占一个值。如果条件匹配,那么x的值将添加到结果数组中。

如果要对resultArray进行排序并打印到控制台,请在循环后尝试以下行:

resultArray.sort()
print(resultArray)

排序后的输出是:

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