获取数组的数组中具有最大对象的数组
Get the array with the largest object inside an array of an array
我有一个 CLLocations 数组的数组,我试图根据其时间戳找到具有最近发生的 CLLocation 对象的数组。索引或实际列表就足够了。
到目前为止我想出了:
let latestList = listOfListOfLocations.index{[=10=].max{a,b in a.timestamp < b.timestamp} < .max{c,d in c.timestamp < d.timestamp}}
但我运气不好,无法理解它对 Swift 来说相对较新。任何帮助将不胜感激。
不确定这是否是最充分的实施,但它有效。
let mostRecent = listOfListOfLocations.max{[=10=].max{[=10=].timestamp < .timestamp}! < .max{[=10=].timestamp < .timestamp}!}?.max()
首先获取每个数组的"submaxes",然后取其中的最大值以获得全局最大值。
let subArrayContainingMostRecentObject = listOfListOfLocations
.flatMap{ subarray in
return subarray
.max{ [=10=].timestamp < .timestamp }
.map{ submax in (subarray: subarray, submax: submax) }
}
.max{ [=10=].submax.timestamp < .submax.timestamp }?.subarray
我有一个 CLLocations 数组的数组,我试图根据其时间戳找到具有最近发生的 CLLocation 对象的数组。索引或实际列表就足够了。
到目前为止我想出了:
let latestList = listOfListOfLocations.index{[=10=].max{a,b in a.timestamp < b.timestamp} < .max{c,d in c.timestamp < d.timestamp}}
但我运气不好,无法理解它对 Swift 来说相对较新。任何帮助将不胜感激。
不确定这是否是最充分的实施,但它有效。
let mostRecent = listOfListOfLocations.max{[=10=].max{[=10=].timestamp < .timestamp}! < .max{[=10=].timestamp < .timestamp}!}?.max()
首先获取每个数组的"submaxes",然后取其中的最大值以获得全局最大值。
let subArrayContainingMostRecentObject = listOfListOfLocations
.flatMap{ subarray in
return subarray
.max{ [=10=].timestamp < .timestamp }
.map{ submax in (subarray: subarray, submax: submax) }
}
.max{ [=10=].submax.timestamp < .submax.timestamp }?.subarray