假设我有两个数组:

var arrayOne = ["Hi", "Hello", "Hey", "Howdy"]
var arrayOne = ["Hi", "Hello", "Hey", "Not Howdy"]

如何比较数组元素的相似性?因为前三个元素是相同的,而最后一个元素不是,所以返回75%。我在项目中使用的数组是字符串,但是除了一些元素之外,它们几乎完全匹配。我要看看有多少不同。有什么想法吗?

最佳答案

let arrayOne = ["Hi", "Hello", "Hey", "Howdy"]
let arrayTwo = ["Hi", "Hello", "Hey", "Not Howdy"]
var matches = 0
for (index, item) in enumerate(arrayOne) {
    if item == arrayTwo[index] {
        matches++
    }
}
Double(matches) / Double(arrayOne.count)   // 0.75

10-08 01:02