数组我有一个这样的元组限定的阵列:求和元组
var stringsWithLengthsArray:[(someString: String, someStringLength: Int)] = []
我已经附加了号码元组到该阵列。我想总结数组中每个元组的someStringLength元素,并认为最好的方法是使用stringsWithLengthsArray.reduce方法,但我无法弄清楚语法。总结someStringLength元素的最佳方法是什么?
数组我有一个这样的元组限定的阵列:求和元组
var stringsWithLengthsArray:[(someString: String, someStringLength: Int)] = []
我已经附加了号码元组到该阵列。我想总结数组中每个元组的someStringLength元素,并认为最好的方法是使用stringsWithLengthsArray.reduce方法,但我无法弄清楚语法。总结someStringLength元素的最佳方法是什么?
您可以使用地图上只得到someStringLength属性值和使用减少来总结所有的要素如下:
let stringsWithLengthsArray:[(someString: String, someStringLength: Int)] = [("strA",2),("strB",3)]
let someStringLenghtTotal = stringsWithLengthsArray.map{$0.someStringLength}.reduce(0){$0+$1}
someStringLenghtTotal // 5
您可以使用.forEach并传递一个封闭添加您的整数数组英寸
var sum = 0
stringArray.forEach{ sum += $0.someStringLength }
这是另一种解决方案。使用reduce
而不使用map
并直接使用.0/.1访问器访问您的元组字段。
let total = stringsWithLengthsArray.reduce(0){$0 + $1.1}
我喜欢这种方式最好:
let total = stringsWithLengthsArray.reduce(0){$0 + $1.someStringLength}