在Swift中,可以使用以下方法来搜索数组中包含数字的数组索引:
方法一:使用for循环遍历数组
func searchIndex(in array: [Int], for number: Int) -> [Int] {
var indexes: [Int] = []
for (index, value) in array.enumerated() {
if value == number {
indexes.append(index)
}
}
return indexes
}
这个方法使用for循环遍历数组,将匹配到的索引添加到一个新的数组中,并返回该数组。这种方法简单直观,适用于小型数组。
方法二:使用高阶函数filter和map
func searchIndex(in array: [Int], for number: Int) -> [Int] {
let indexes = array.enumerated().filter { $0.element == number }.map { $0.offset }
return indexes
}
这个方法使用了高阶函数filter和map。filter函数用于筛选出数组中与指定数字相等的元素,map函数用于将筛选出的元素的索引提取出来。最后返回索引数组。
方法三:使用索引序列
func searchIndex(in array: [Int], for number: Int) -> [Int] {
let indexes = array.indices.filter { array[$0] == number }
return Array(indexes)
}
这个方法使用了索引序列indices和filter函数。indices函数返回一个包含数组索引的序列,filter函数用于筛选出与指定数字相等的索引。最后将索引序列转换为数组并返回。
以上三种方法都可以用来搜索数组中包含数字的数组索引,具体选择哪种方法取决于数组的规模和性能需求。
推荐的腾讯云相关产品:腾讯云云服务器(CVM) 腾讯云云服务器(CVM)是一种可弹性伸缩的云计算基础设施服务,提供高性能、可靠稳定的云服务器实例,适用于各类应用场景。您可以根据实际需求选择不同配置的云服务器实例,轻松部署和管理您的应用程序。
产品介绍链接地址:腾讯云云服务器(CVM)
领取专属 10元无门槛券
手把手带您无忧上云