You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Swift中从数组移除String类型元素?附现有代码示例

问题修正与实现方案

你原有代码中的array.remove(String)属于无效调用,Swift 原生数组没有提供直接传入类型即可移除对应类型所有元素的方法,针对你声明的返回值为[Int]的需求,有两种常见实现场景:

场景1:移除所有String类型,且最终只保留Int类型元素(匹配你现有函数返回值声明)

使用compactMap做安全类型转换即可自动过滤掉所有非Int类型元素(包含你需要移除的String):

func filterString(array:[Any])-> [Int]{
    return array.compactMap { $0 as? Int }
}

场景2:仅移除所有String类型元素,其余类型全部保留(返回值调整为[Any])

使用filter配合类型判断即可:

func filterString(array:[Any])-> [Any]{
    return array.filter { !($0 is String) }
}

内容的提问来源于stack exchange,提问作者slowTurtle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:24:03