【发布时间】:2021-07-30 10:07:56
【问题描述】:
假设以下数据:
var randomData = [[0: 0.0], [0: 0.005399568], [0: 0.031317495], [0: 0.059395213], [0: 0.08531314], [0: 0.111231074], [0: 0.13066952], [0: 0.15010796], [0: 0.16954641], [0: 0.18898486], [0: 0.21058308], [0: 0.23002152], [0: 0.25593945], [0: 0.2753779], [0: 0.28833687], [0: 0.29697624], [0: 0.30129582], [0: 0.3056155], [0: 0.3056155], [0: 0.30777532], [0: 0.30777532], [0: 0.30993518], [0: 0.3142548], [0: 0.3142548], [0: 0.3142548], [0: 0.3142548], [0: 0.3142548], [0: 0.3142548], [0: 0.3142548], [2: 0.0010798806], [2: 0.072354175], [2: 0.072354175], [2: 0.12203024], [2: 0.1717062], [2: 0.21922246], [2: 0.26889843], [2: 0.30993518], [2: 0.3423326], [2: 0.36393085], [2: 0.3790496], [2: 0.39200857], [2: 0.40280774], [2: 0.41144702], [2: 0.42224622], [2: 0.4265659], [2: 0.4330454], [2: 0.43736497], [2: 0.44168466], [2: 0.44384444], [2: 0.44600433], [2: 0.4524838], [2: 0.46544278], [2: 0.47840175], [2: 0.4892008], [2: 0.4978402], [2: 0.50431967], [2: 0.50647944], [2: 0.50647944], [2: 0.50647944], [2: 0.50647944], [2: 0.50647944], [2: 0.51079917], [2: 0.5172786], [2: 0.5215982], [2: 0.5237581], [2: 0.5237581], [2: 0.5237581], [2: 0.5237581], [2: 0.5237581], [4: 0.0], [4: 0.07451397], [4: 0.07451397], [4: 0.10691138], [4: 0.1393088], [4: 0.1738661], [4: 0.20842329], [4: 0.24298048], [4: 0.28401726], [4: 0.32073426], [4: 0.35529158], [4: 0.3790496], [4: 0.39848804], [4: 0.41144702], [4: 0.42224622], [4: 0.4287257], [4: 0.4330454], [4: 0.43736497], [4: 0.44600433], [4: 0.4524838], [4: 0.46760258], [4: 0.48056152], [4: 0.4978402], [4: 0.51295894], [4: 0.5237581], [4: 0.5280777], [4: 0.53455716], [4: 0.54319656], [4: 0.54967606], [4: 0.5539956], [4: 0.55831534], [4: 0.562635], [4: 0.57343405], [4: 0.57991356], [4: 0.58639306], [4: 0.5907127], [4: 0.5907127], [4: 0.5907127], [4: 0.5928725], [4: 0.5928725], [4: 0.5928725], [5: 0.003239675], [5: 0.09179262], [5: 0.09179262], [5: 0.1393088], [5: 0.1738661], [5: 0.19330454], [5: 0.20842329], [5: 0.21706256], [5: 0.22570194], [5: 0.2343412], [5: 0.24298048], [5: 0.25161988], [5: 0.26241893], [5: 0.2775378], [5: 0.29265654], [5: 0.3034557], [5: 0.3142548], [5: 0.31857446], [5: 0.32073426], [5: 0.32073426], [5: 0.32073426], [5: 0.32073426], [5: 0.32073426], [5: 0.32073426]]
我将如何将 randomData 过滤到一个变量 [[Int: Float]] 中,该变量返回每个键的最后一个对象。换句话说,预期的结果是:
[[0: 0.3142548], [2: 0.5237581], [4: 0.5928725], [5: 0.32073426]]
我认为逻辑是为每个键创建数组,然后获取最后一个元素,并将其重新用于数组,但这只是拉最后一个元素而不是最后一个元素每个键
let filtered = randomData.filter({$0.keys == $0.keys}).last
// Optional([5: 0.32073426])
let filtered = randomData.map({$0.filter({$0.key == $0.key})}).last
//Optional([5: 0.32073426])
一如既往地感谢任何建议和指导。
【问题讨论】:
-
单元素字典不是 Swifty 的解决方案。试试KeyValuePairs 并按照亚历山大所说的去做。
标签: arrays swift dictionary filter