gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:38:01 24 4
gpt4 key购买 nike

我有一个 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/

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