【问题标题】:Removing Specific Object In Array Based On Property?根据属性删除数组中的特定对象?
【发布时间】:2017-06-18 11:51:21
【问题描述】:

我有一系列饮料配料,想删除与饮料无关的配料,这是我的代码,但我不知道如何从数组中删除配料不在标准之内。

我只能在索引路径删除,如果我们添加更多浇头等,这可能会改变,所以看起来不准确?

for toppings in self.toppings {
    if self.selectedDrink.name == "Tea" {
        if toppings.limit == "C" {
            self.toppings.remove(at: toppings)
        }
    }
}

基本上,如果用户选择了茶,它会查找仅限于咖啡的浇头,然后我需要删除那些响应“C”属性的浇头,但我不知道怎么做?

感谢您的帮助!

【问题讨论】:

  • 何不试试filter函数?
  • 看起来怎么样?

标签: ios arrays swift loops


【解决方案1】:

您可以使用 for 循环进行就地删除,但这会很棘手,因为您需要迭代回以避免干扰索引。

更简单的方法是过滤数组,并将其分配回toppings 属性,如下所示:

toppings = toppings.filter {$0.limit != "C"}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-03
    • 2013-02-23
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    相关资源
    最近更新 更多