当前位置:  开发笔记 > 编程语言 > 正文

如何按照最常见的点排列CGPoint阵列

如何解决《如何按照最常见的点排列CGPoint阵列》经验,为你挑选了0个好方法。

我看到这篇帖子 展示了如何通过以下方式获得数组的最常值:

let myArray = [4, 4, 4, 3, 3, 3, 4, 6, 6, 5, 5, 2]

// Create dictionary to map value to count   
var counts = [Int: Int]()

// Count the values with using forEach    
myArray.forEach { counts[$0] = (counts[$0] ?? 0) + 1 }

// Find the most frequent value and its count with max(isOrderedBefore:)    
if let (value, count) = counts.max(isOrderedBefore: {$0.1 < $1.1}) {
    print("\(value) occurs \(count) times")
}

我想为一个数组实现相同的结果CGPoints,这有点不同.我尝试使用相同的代码并得到一个错误:

Type 'CGPoint' does not conform to protocol 'Hashable'

在线

var counts = [CGPoint: Int]()

和一个错误

Value of type 'CGPoint' has no member '1'

在线

if let (value, count) = counts.max(isOrderedBefore: {$0.1 < $1.1}) {

如何按照频率和打印顺序排列CGPoint阵列,这是一个具有值和它出现的时间的元组?

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有