gpt4 book ai didi

arrays - 快速查找字符串数组之间的匹配项

转载 作者:行者123 更新时间:2023-11-28 10:20:31 24 4
gpt4 key购买 nike

我是函数式编程的新手如果我有 2 个字符串数组,是否可以使用 map、filter 和 zip 返回匹配值?我知道一种肮脏的方法,通过在每个数组中迭代并比较值来查找匹配项,但必须有一种干净的方法来做到这一点。

所以 var 示例我有以下数组:

array1 = ["max","julie","helmut","igor"]array2 = ["苏菲","伊戈尔"]

我想检索“igor”作为一个值

另一件事,如果有多个匹配项,在我的情况下是不可能的,我想知道如何返回一串匹配项(仅供我自己理解)

感谢您的帮助:)

最佳答案

我很快就搞定了。应该适用于任何遵循 Equatable 的东西(例如字符串):

func getMatches<T: Equatable>(firstArray: [T], secondArray: [T]) -> [T] {
return firstArray.filter({secondArray.contains($0)})
}

或者,这是 Kevin's answer 的通用版本

func getMatches<T: Equatable>(firstArray: [T], secondArray: [T]) -> Set<T> {
return Set(firstArray).intersect(secondArray)
}

关于arrays - 快速查找字符串数组之间的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com