arrays - 从数组中获取最大节点
问题描述
我有一个 SCNNode 数组,我需要确定其中哪一个具有最高宽度。
我知道如何计算宽度,但不知道如何在数组中的所有节点之间进行比较并返回具有最高值的节点。
这是一个示例代码:
var walls = [SCNNode]()
For wall in walls {
let wallWidth = (wall.boundingBox.max.x-wall.boundingBox.min.x)
print(wallWidth)
}
提前致谢!
解决方案
您可以使用数组的 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
}
推荐阅读
- phpmyadmin - xampp phpmyadmin 错误 - #1932 - Xampp 7.3.8 新版本的引擎中不存在表 'phpmyadmin.pma__userconfig'
- javascript - Ramda 中的简单无点函数
- javascript - Ajax 获取文件 - 内容在哪里加载?
- vbscript - 是什么导致了我的 hta 文件中的视觉故障
- java - 如何在处理超过 800 万条记录时提高 Spring 批处理性能
- vue.js - vuex 基本状态在模块之间共享
- java - 在 android Studio 钢琴练习中使用 SoundPool 播放并行声音的问题
- jquery - 使用 Laravel Carbon 将日期保存为 MySQL 格式
- python-3.x - 如何修复“将数据从 flask-socketio 事件处理程序传递到 Flask-SQLAlchemy”
- python - 用包含字符串的变量替换函数属性