我有一个CLLocations数组的数组,并且我试图根据其时间戳查找具有最近发生的CLLocation对象的数组。索引或实际列表就足够了。

到目前为止,我想出了:

let latestList = listOfListOfLocations.index{$0.max{a,b in a.timestamp < b.timestamp} < $1.max{c,d in c.timestamp < d.timestamp}}


但是我没有运气,也无法阻止它对Swift来说相对较新。任何帮助将不胜感激。

最佳答案

首先获取每个数组的“ submaxes”,然后取那些最大值以获取全局最大值。

let subArrayContainingMostRecentObject = listOfListOfLocations
    .flatMap{ subarray in
        return subarray
            .max{ $0.timestamp < $1.timestamp }
            .map{ submax in (subarray: subarray, submax: submax) }
    }
    .max{ $0.submax.timestamp < $1.submax.timestamp }?.subarray

关于ios - 获取具有数组中最大对象的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45681261/

10-12 00:10
查看更多