问题描述
var countryData = [
(country:"Australia",item:"GDP",Year:"2019",dataValue:"1.434 trillion"),(country:"Australia",item:"CPI",dataValue:"6401.0"),item:"Inflation",dataValue:"1.61%"),(country:"Brazil",dataValue:"$1.868 trillion"),...
(country:"Zimbabwe",dataValue:"255.29%"),]
我想创建一个实例变量来获取所有包含“澳大利亚”的元组。我假设我必须使用一个for循环并包含函数,但是我的敏捷性不是那么好,并且我无法使其正常工作。或者,如果您提出的建议不是最好的解决办法,也将受到赞赏。
解决方法
您是对的!您可以为此使用for循环。另一种方法是过滤器运算符
过滤运算符方式使您能够根据特定条件过滤任何类型的数组。
let neededList = countryData.filter { $0.country == "Australia" }
用于循环方式
var result: [(country: String,item: String,Year: String,dataValue: String)] = []
for item in countryData {
if item.country == "Australia" {
result.append(item)
}
}
print(result)
,
使用高阶filter
方法。方法如下:
let australiaData = countryData.filter { $0.country == "Australia" }