首页 > 解决方案 > 如何在具有相似数据的数组中搜索?迅速

问题描述

我想在数组中搜索一个字符串并获取字符串存在的所有索引。

我的由来自服务器的 json 数据组成的数组是。

["Non Native", "Native", "Native & Non Native"]

我使用的方法是

let indexArray = demand.indices.filter {
   demand[$0].localizedCaseInsensitiveContains("Native") 
}
                
print(indexArray)

但我的问题是我得到了所有三个索引。我只想要本机索引(如本例中的第二个索引)。(尽管它也是其他索引的一部分,但我搜索了很多)。任何帮助将不胜感激。

标签: arraysswiftfilter

解决方案


您正在过滤contains,所有项目都包含“Native”,您必须过滤is equalakacompare

let indexArray = demand.indices.filter { demand[$0].localizedCaseInsensitiveCompare("Native") == .orderedSame }           
print(indexArray)

推荐阅读