我的第一个数组是

arr1 = [1, 2, 3, 4 , 5]

我的第二个数组是
arr2 = [2, 3, 4]

我想将arr1与arr2进行比较,并输出第三个数组
arr3 = ["No match", 2, 3, 4, "No match"]

因此,我在arr1和arr2不匹配的索引处添加了占位符值。 Arr1和arr2不会总是排序。

我该如何在Swift 3中做到这一点?无法提出一个有效的循环:/

最佳答案

一个简单的解决方案是

let arr1 = [1,2,3,4,5,6]
let arr2 = [2,3,4]

var arr3 = [String]()
for value in arr1{

    if arr2.contains(value){
        arr3.append("\(value)")
    } else {
        arr3.append("No Match")
    }
}

一线解决方案是
let results = arr1.map {arr2.contains($0) ? "\($0)" : "No Match"}

关于ios - Swift 3-比较两个不等长的数组,并在其中添加占位符值以使它们相等,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48541305/

10-12 13:11