我想知道如何比较两个布尔数组并列出不匹配的布尔值。
我写了一个2数组的简单示例。
let array1 = [true, false, true, false] let array2 = [true, true, true, true]
我如何比较array1和array2并显示不匹配的内容。我正在尝试执行此操作以检查问答游戏的用户结果。
谢谢!
这里的 一个 实现,但无论是一个你追求的是完全不可能说,因为你没有指定你认为答案 应该 是:
let answer = zip(array1, array2).map {$0.0 == $0.1}
true如果答案与正确答案相匹配,则将为您提供布尔值列表false。
true
false
但是,假设您想要的是正确答案的 索引 列表。然后您可以说:
let answer = zip(array1, array2).enumerated().filter() { $1.0 == $1.1 }.map{$0.0}
如果您想要 不 正确答案的索引列表,只需更改==为!=。
==
!=