歡迎加入QQ討論群258996829
bigcake 頭像
蘋果0袋
0
bigcake

菜鳥提問(wèn)

發(fā)布時(shí)間:2018-04-16 18:21  回復(fù):2  查看:4685   最后回復(fù):2018-04-18 10:55  
能否定義一個(gè)方法,比較兩個(gè)數(shù)組的值。
若數(shù)組內(nèi)值的類型相同,返回一個(gè)包含兩個(gè)數(shù)組相同的值的數(shù)組。
若數(shù)組內(nèi)值的類型不相同,則拋出一個(gè)錯(cuò)誤。
ps:在閱讀泛型篇章時(shí)想到的問(wèn)題,但寫不出實(shí)現(xiàn)這個(gè)方法的代碼,在此請(qǐng)教!
Swift 頭像
蘋果5袋
5
Swift   2018-04-18 10:23
這里有個(gè)類似的代碼
func anyCommonElements<T: Sequence, U: Sequence>(_ lhs: T, _ rhs: U) -> Bool
    where T.Iterator.Element: Equatable, T.Iterator.Element == U.Iterator.Element {
        for lhsItem in lhs {
            for rhsItem in rhs {
                if lhsItem == rhsItem {
                    return true
                }
            }
        }
        return false
}
anyCommonElements([1, 2, 3], [3])
這個(gè)帖子里摘出來(lái)的
大頭大哥orz 頭像
蘋果0袋
0
大頭大哥orz   2018-04-18 10:55
func anyCommonElements<T: Sequence, U: Sequence>(_ lhs: T, _ rhs: U) -> T
    where T.Iterator.Element: Equatable, T.Iterator.Element == U.Iterator.Element {
        var temp = T()
        for lhsItem in lhs {
            for rhsItem in rhs {
                if lhsItem == rhsItem {
                    temp.appand(lhsItem)
                }
            }
        }
        return temp
}
anyCommonElements([1, 2, 3], [3])
您還未登錄,請(qǐng)先登錄

熱門帖子

最新帖子

?