ios - 从数组中删除 NIL 值和部分匹配

标签 ios arrays json swift

我有一个 JSON 数据数组,我想删除 nil 对象,并且我有一个在长字符串中带有 Connex 一词的对象,我想删除它。该值位于 $0.financialInstitution 字段中。

我尝试使用过滤器来查找我要删除的项目。我的 JSON 数据正确呈现。

我已经尝试使用这篇文章中的解决方案:Check if array contains part of a string in Swift?

  • 当我更改数组以使用 JSON 数据时,我收到错误:无法将类型“(String) -> Bool”的值转换为预期参数类型“(RateDetail) -> Bool”。

     // to remove / surpress nil values 
        let nonNilElements = rateDetails.compactMap {$0}
    
     // this does not work
    
    
     //code form post noted above, updated with my search parameters 
    and array
    
        let itemsArray = rateDetails
        let searchToSearch = "Connex"
    
        let filteredStrings = itemsArray.filter({(item: String) -> Bool in
    
            let stringMatch = item.lowercased().range(of: searchToSearch.lowercased())
            return stringMatch != nil ? true : false
        })
        print(filteredStrings)
    
    
        if (filteredStrings as NSArray).count > 0
        {
            //Record found
        }
        else
        {
            //Record Not found
        }
    

费率详情中的值

.RateDetail(金融机构:“您的邻居 C.U.”,variableRate:“0”,六个月:“0”,一年:“3.59”,两年:“3.69”,三年:“3.79”,四年:“3.89”,五年:“3.99”,日期:“2019-07-01”)

要删除的值:

RatesJSON.RateDetail(金融机构:CANNEX,2019 年 6 月 30 日 00:30:20 ET”,variableRate:“0”,六个月:“0”,一年:“0”,两年:“0”,三年: “0”,四年:“0”,五年:“0”,日期:“2019-07-01”),

要删除的空白值:

RatesJSON.RateDetail(金融机构:“”,变量利率:“0”,六个月:“0”,一年:“0”,两年:“0”,三年:“0”,四年:“0”,五年: “0”,日期:“2019-07-01”)

  • 我想删除空白的数组值
  • 删除作为存储在 FinancialInstitution 字段中的较长字符串一部分的值 connex。

最佳答案

itemsArray 是 RateDetails 数组吗?

如果是这样,您的过滤器闭包会声明数组中的每个项目都是一个字符串,但事实并非如此。这是一个费率详细信息。

所以正确的闭包看起来像这样:

itemsArray.filter({ (item: RateDetail) -> Bool in
...
})

关于ios - 从数组中删除 NIL 值和部分匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56836670/

相关文章:

ios - Mqtt和Push通知

arrays - 有效地保存最后 N 个推送项目的集合

java - 阵列中奇怪的双重打印

c# - 在 C# 中序列化和反序列化自引用对象

json - 将 IBM 移动应用程序构建器连接到 Cloudant JSON 数据 - bluemix-mobile-services

ios - 如何在单击删除按钮时更改表行颜色,而不是在 iOS 中删除行

ios - 核心数据 - 如何处理第一次发布时的 _persistentStoreCoordinator 错误?

ios - 在 Xcode6.3 中使用 Carthage 的 Alamofire 和 SwiftyJSON

java - 使用 Apache POI 将 XLS 文件读取到 Java 中的二维数组中

sql - 如何使用 Oracle 12c 查询为 JSON 中的数组编制索引?