gpt4 book ai didi

arrays - 在对象数组中查找元素

转载 作者:行者123 更新时间:2023-11-28 10:16:14 26 4
gpt4 key购买 nike

我创建了一个对象数组:

var fullMonthlyList = [SimulationMonthly]()

这里的类:

class SimulationMonthly {
var monthlyMonthDuration: NSNumber = 0
var monthlyYearDuration: NSNumber = 0
var monthlyFullAmount: NSNumber = 0
var monthlyAmount: Int = 0

init(monthlyMonthDuration: NSNumber, monthlyYearDuration: NSNumber, monthlyFullAmount: NSNumber, monthlyAmount: Int){
self.monthlyMonthDuration = monthlyMonthDuration
self.monthlyYearDuration = monthlyYearDuration
self.monthlyFullAmount = monthlyFullAmount
self.monthlyAmount = monthlyAmount
}
}

我只是追加以填充它,现在我想通过在数组中搜索来查找它们是否为现有值,例如 monthlyAmount 等于“194”,我该怎么做?我已尝试过滤和包含,但出现错误。

我尝试过的:

if self.fullMonthlyList.filter({ $0.monthlyAmount == self.monthlyAmount.intValue }) { ... }

错误:

Cannot invoke 'filter' with an argument list of type '((SimulationMonthly) throws -> Bool)'

最佳答案

你可以这样做:

if let sim = fullMonthlyList.first(where: { $0.monthlyAmount == 194 }) {
// Do something with sim or print that the object exists...
}

这将为您提供数组中的第一个元素,其中 monthlyAmount 等于 194

如果你想要所有元素具有那个条件,你可以使用filter:

let result = fullMonthlyList.filter { $0.monthlyAmount == 194 }

如果您根本不需要该对象,而只想知道它是否存在,那么 contains 就足够了:

let result = fullMonthlyList.contains(where: { $0.monthlyAmount == 194 })

关于arrays - 在对象数组中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41125567/

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