我有一個重複的元素陣列如何過濾重複的元素並創建新的數組?
let array = [1, 2, 2, 3, 5, 3, 6]
如何篩選這個數組,並創建新的數組是這樣的:
[[1], [2, 2], [3, 3], [5], [6]]
我有一個重複的元素陣列如何過濾重複的元素並創建新的數組?
let array = [1, 2, 2, 3, 5, 3, 6]
如何篩選這個數組,並創建新的數組是這樣的:
[[1], [2, 2], [3, 3], [5], [6]]
很容易的,你應該試試這個:
let array = [1, 2, 2, 3, 5, 3, 6]
let result= Set(array).map{ value in return array.filter{$0==value} }
print(result)
如果你想保持陣列的原始秩序,你可以做如下:
let array = [1, 2, 2, 3, 5, 3, 6]
var grouped: [[Int]] = []
array.forEach { element in
if let index = grouped.index(where: {$0.last == element}) {
grouped[index].append(element)
} else {
grouped.append([element])
}
}
print(grouped) // [[1], [2, 2], [3, 3], [5], [6]]
什麼是元素!=最後一個檢查? –
你不需要'最後一個'變量... –
謝謝先生.. –
非常感謝。 –
完美的工作... – Nirmalsinh