arrays - Swift - 在具有多个变量的自定义类数组中查找最大值
问题描述
我想在我的数组中找到最高值。我在 Apples 文档中找到了 .max() 方法。
let heights = [67.5, 65.7, 64.3, 61.1, 58.5, 60.3, 64.9]
let greatestHeight = heights.max()
print(greatestHeight)
// Prints "Optional(67.5)"
我的数组具有自定义数据类型。数据类型包含两个整数类型的变量。如何从其中一个变量中找到最高值?
这是我的课。
class Example: Codable {
// Variables
var value1: Int
var value2: Int
// Init
init(_value1: Int, _value2: Int) {
value1 = _value1
value2 = _value2
}
}
解决方案
正如您在评论中澄清的那样:
我想找出该数组中所有对象的 value1 的最大值
这可以通过将每个对象映射到其value1
然后确定最大值来实现:
let maxValue1 = examples.map { $0.value1 }.max()
如果给定的数组真的很大,那么使用“惰性变体”来避免创建中间数组可能是有利的:
let maxValue1 = examples.lazy.map { $0.value1 }.max()
推荐阅读
- java - 使布局适应所有屏幕分辨率 - Android
- html - 如何在 HTML 输入表单中验证尼泊尔语或印地语单词
- reporting-services - SSRS 数据集取决于其他数据集
- python-3.x - 如何在 python 中换行(Python 3)
- node.js - Winston - 多控制台传输
- azure - 使用 deploy.cmd [Windows 机器] 在 azure app 服务上部署 laravel
- reactjs - react-fullpage 右导航切换丢失
- java - 如何对具有字符串和整数组合数据(如 1094 天、1092 天、994 天、973 天)的列表执行排序操作
- node.js - NodeJS 如何从远程服务器读取大型 CSV/文本文件而不将其保存到磁盘?
- c - 通过递归反转字符串的单词