【问题标题】:how to sort an array how objects in ascending order of x positions如何对数组进行排序 如何按 x 位置的升序排列对象
【发布时间】:2023-03-03 21:08:01
【问题描述】:

我有一个矩形对象数组,我已将它们填充到数组rectangles 中。每个矩形都有各种属性、纹理、位置等。如何对矩形数组进行排序,以便对象按 x 位置的升序排列。例如,可以通过以下方式访问 x 位置属性。

rectangles[0].sprite.position.x

我愿意找到比排序更快或更有效的解决方案。

【问题讨论】:

    标签: arrays swift sorting sprite-kit swift2


    【解决方案1】:

    使用sort() 方法。 let sortedRectangles = rectangles.sort {$0.sprite.position.x < $1.sprite.position.x}

    【讨论】:

      【解决方案2】:

      rectangles 是一个范围为(x,y) 的数组:

          func backwardsX(s1: (CGFloat,CGFloat), _ s2:  (CGFloat,CGFloat)) -> Bool {
              return s1.0 > s2.0
          }
          let result    = rectangles.sort(backwardsX)
      

      即使在一行中:

      let result = rectangles.sort( { s1, s2 in return s1.0 > s2.0 } )
      

      let result = rectangles.sort( { $0.0 > $1.0 } )
      

      【讨论】:

        猜你喜欢
        • 2019-12-27
        • 2019-12-17
        • 1970-01-01
        • 2020-05-24
        • 2010-09-10
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多