我想過濾掉重復的元素,直到有新元素使用 Swift。我想對整個陣列執行此操作。
示例:[1,1,1,2,2,1]
輸出:[1,2,1]
uj5u.com熱心網友回復:
您可以使用reduce(into:_:):
let array = [1,1,1,2,2,1]
let filtered = array.reduce(into: [Int]()) { partialResult, current in
guard let last = partialResult.last else { partialResult.append(current); return }
if last != current {
partialResult.append(current)
}
}
print(filtered)
我們遍歷陣列。
partialResult是當前正在填充的新陣列。我們檢查是否已經有一個初始值,否則我們添加它。然后,我們將 的最后一個值partialResult與初始陣列迭代的當前值進行比較,以決定是否將其附加到partialResult
一旦你理解了邏輯,它也可以寫成:
let filtered2 = array.reduce(into: [Int]()) { partialResult, current in
if partialResult.last != current {
partialResult.append(current)
}
}
print(filtered2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377974.html
上一篇:Json_agg作為單個物件
