数组过滤如何实现精确值匹配而非包含式匹配?
实现结构体属性的精确值匹配过滤
把过滤逻辑里的包含判断改成精确相等判断即可,直接用==运算符替代contains方法:
filteredArray = totalArray.filter({ $0.property == "keyword"})
针对你给出的例子数组["Dog", "Dog", "Big Dog", "Small Dog"],用这个条件过滤后,只会保留前两个值完全等于"Dog"的元素,正好符合你想要的结果。
如果需要忽略大小写的精确匹配(比如同时匹配"Dog"、"dog"、"DOG"),可以用字符串的大小写不敏感比较方法:
filteredArray = totalArray.filter({ $0.property.caseInsensitiveCompare("Dog") == .orderedSame })
内容的提问来源于stack exchange,提问作者Lionel Yu
相关产品推荐
相关产品推荐

