2017-06-18 45 views
0

我有這個特殊的數組var myArray : [Array<String>] = [["a"],["b"],["c"]] 我想如果"a"檢測已經內部myArray斯威夫特3 - 檢查字符串數組內部存在和排序它

後,我想我的數組按字母順序排序,但我沒有帶發現的任何功能,做所有這些事情對我的陣列

+0

難道你內心的數組總是包含1串,或者可能會有多重? – vacawama

+0

@vacawama myArray包含多個字符串,但我只想檢測一個字符串 – Rombond

+0

當您按字母順序排序時,該數組的預期結果是:[[「c」,「a」],[「e」,「b 「],[」d「]]? – vacawama

回答

4

找到,如果您[[String]]包含"a",你可以使用兩次contains

var myArray : [Array<String>] = [["a"],["b"],["c"]] 

if myArray.contains(where: { $0.contains("a") }) { 
    print("a found") 
} 

要內陣列的每個元素進行排序,申請map到外陣列和排序:

var myArray : [Array<String>] = [["c", "a"], ["e", "b"], ["d"]] 

let sorted = myArray.map { $0.sorted() } 

print(sorted) 
[["a", "c"], ["b", "e"], ["d"]]