一尘不染

比较2个数组并列出差异-Swift

swift

我想知道如何比较两个布尔数组并列出不匹配的布尔值。

我写了一个2数组的简单示例。

let array1 = [true, false, true, false]
let array2 = [true, true, true, true]

我如何比较array1和array2并显示不匹配的内容。我正在尝试执行此操作以检查问答游戏的用户结果。

谢谢!


阅读 678

收藏
2020-07-07

共1个答案

一尘不染

这里的 一个 实现,但无论是一个你追求的是完全不可能说,因为你没有指定你认为答案 应该 是:

let answer = zip(array1, array2).map {$0.0 == $0.1}

true如果答案与正确答案相匹配,则将为您提供布尔值列表false

但是,假设您想要的是正确答案的 索引 列表。然后您可以说:

let answer = zip(array1, array2).enumerated().filter() {
    $1.0 == $1.1
}.map{$0.0}

如果您想要 正确答案的索引列表,只需更改==!=

2020-07-07