gpt4 book ai didi

ios - Swift 4 根据条件和计数过滤数组

转载 作者:行者123 更新时间:2023-11-30 12:06:44 24 4
gpt4 key购买 nike

class Bar {
var data: Int = 0
var sent = false
}

var fooArray: [Bar] = []

我有一组定期发送到服务器的数据值。服务器确认收到数据后,我的代码将执行并删除已发送的数组中的所有项目。我知道我可以使用简单的过滤器删除所有已发送的项目:

fooArray = fooArray.filter { $0.sent != true }

但现在我想在数组中保留 100 个项目,无论它们是否已发送。我知道我可以编写一个循环来执行此操作,但我想知道是否有更快速的方法。

最佳答案

给你上课(大写的B)

class Bar {
var data = 0
var sent = false
}

和一个数组

let bars: [Bar] = ...

您可以获得包含的过滤数组

  1. 所有未发送的条
  2. 加上已发送的柱达到 100 条

这是代码

let filtered = bars.reduce([Bar]()) { (res, bar) -> [Bar] in
if !bar.sent || res.count < 100 {
return res + [bar]
}
return res
}

关于ios - Swift 4 根据条件和计数过滤数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46592324/

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