在字典数组中查找最大值

时间:2018-10-31 03:46:14

标签: swift dictionary

我需要在[[String:Any]]数组中找到 max

"date":someDate
"value":8
.
.

"date":anotherDate
"value":13
.

我需要最大(13),是否有一种简单的方法在数组上没有传统循环并提取所有数字等?

1 个答案:

答案 0 :(得分:2)

这是使用$img_dir = "upload/"; $temp = explode(".", $_FILES["file"]["name"]); $img = $img_dir .$_POST['job'].'_'.$_POST['name'].'_'.$_POST['age'].'.' .end($temp); move_uploaded_file($_FILES['file']['tmp_name'], $img); 的一种可能的解决方案。

请注意,此示例使用了很多崩溃运算符(Array max(by:))。根据您的真实代码安全地解开包装:

!

另一种选择是使用let data: [[String: Any]] = [ ["date":Date(), "value":8], ["date":Data(), "value":13], ] let maxEntry = data.max { ($0["value"] as! Int) < ($1["value"] as! Int) }! let maxValue = maxEntry["value"] as! Int map

max

所有这些示例均假设数组不会为空,并且每个字典的let maxValue = data.map { $0["value"] as! Int }.max()! 键都有一个有效的Int值。如果这些假设无效,请根据需要调整代码。