我有一个像这样定义的元组数组:
var stringsWithLengthsArray:[(someString: String, someStringLength: Int)] = []
我在这个数组中添加了许多元组。我想总结数组中每个元组的someStringLength元素,并认为最好的方法是使用stringsWithLengthsArray.reduce方法,但我无法弄清楚语法。求和someStringLength元素的最佳方法是什么?
答案 0 :(得分:2)
我最喜欢这种方式:
let total = stringsWithLengthsArray.reduce(0){$0 + $1.someStringLength}
答案 1 :(得分:1)
您可以使用map来获取someStringLength属性值,并使用reduce来汇总所有元素,如下所示:
let stringsWithLengthsArray:[(someString: String, someStringLength: Int)] = [("strA",2),("strB",3)]
let someStringLenghtTotal = stringsWithLengthsArray.map{$0.someStringLength}.reduce(0){$0+$1}
someStringLenghtTotal // 5
答案 2 :(得分:1)
这是另一种解决方案。使用不reduce
的{{1}}并直接使用.0 / .1访问者访问您的元组字段。
map