gpt4 book ai didi

ios - 如何在 swift 4 中过滤二维模型数组,

转载 作者:行者123 更新时间:2023-11-28 19:27:08 25 4
gpt4 key购买 nike

我是这样做的:-

    let dataToSend = self.allOrders.filter { (ordersForOneDate) -> Bool in

return ordersForOneDate.filter({ (myOrder) -> Bool in

if myOrder.is_request == "1" &&
myOrder.order_status != "confirmed" &&
myOrder.order_status != "completed" {

return true
} else {
return false
}
})
}

但是出现错误

Cannot convert value of type '[MyOrdersModel]' to closure result type 'Bool'

最佳答案

如果你想从二维数组中过滤掉项目,那么你需要映射外部数组而不是过滤它。您也可以删除空数组。尝试类似的东西:

func filterMy2DArray(allOrders: [[Order]], includesEmptyArrays includeEmpty: Bool = false) -> [[Order]] {
let dataToSend: [[Order]] = allOrders.compactMap { ordersForOneDate in
let filtered = ordersForOneDate.filter({ myOrder in
if myOrder.is_request == "1" &&
myOrder.order_status != "confirmed" &&
myOrder.order_status != "completed" {
return true
} else {
return false
}
})
if includeEmpty {
return filtered
} else {
return filtered.isEmpty ? nil : filtered
}
}
return dataToSend
}

所以现在内部数组被过滤以获取您想要的项目。然后检查(if includeEmpty if false)数组是否为空,如果是则返回 nilcompactMap 将做的是构造 block 提供的数组数组,但会忽略那些 nil 的数组。

关于ios - 如何在 swift 4 中过滤二维模型数组,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51960486/

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