首页 > 解决方案 > 从数组中获取最大节点

问题描述

我有一个 SCNNode 数组,我需要确定其中哪一个具有最高宽度。

我知道如何计算宽度,但不知道如何在数组中的所有节点之间进行比较并返回具有最高值的节点。

这是一个示例代码:

var walls = [SCNNode]()
   
For wall in walls  {
    let wallWidth = (wall.boundingBox.max.x-wall.boundingBox.min.x)
    print(wallWidth)
}

提前致谢!

标签: arraysswiftmaxscenekitarkit

解决方案


您可以使用数组的 max 函数。

var walls = [SCNNode]()
let maxNode = walls.max { (left, right) -> Bool in
    let leftWidth = (left.boundingBox.max.x-left.boundingBox.min.x)
    let rightWidth = (right.boundingBox.max.x-right.boundingBox.min.x)
    return leftWidth < rightWidth
}

推荐阅读