我有一个小问题。
我有一个带整数值的数组:
let array = [99, 42, 34, 19, 167, 30, 49, 39, 75, 175, 270, 540]
如何获得19到167之间的所有值?通过所有整数值迭代必须有更好的方法吗? 这是迅速的。所以我正在迅速寻找答案。 提前谢谢
答案 0 :(得分:1)
您可以使用filter
和能够过滤范围的模式匹配运算符~=
。
let array = [99, 42, 34, 19, 167, 30, 49, 39, 75, 175, 270, 540]
let range = 19...167
let filteredArray = array.filter{ range ~= $0 }
考虑此运算符不会对边19和167进行过滤。结果为
// [99, 42, 34, 19, 167, 30, 49, 39, 75]
要排除边写20...168
或20..<167
,结果为
// [99, 42, 34, 30, 49, 39, 75]
答案 1 :(得分:0)
在Swift中,您仍然可以使用过滤器
执行此操作let array = [99, 42, 34, 19, 167, 30, 49, 39, 75, 175, 270, 540]
let newArray = array.filter{$0 > 19 && $0 < 167}
print(newArray)
答案 2 :(得分:0)
let filtered = array.filter { (20..<167).contains($0) }