如何在字典中查找最大或最小元素,在数组列表中查找二维数组



我正试图找出在Swift中查找数组和数组列表中二维数组字典中最大或最小元素的具体两个示例的代码。

示例#1 -查找二维数组

中的最大元素
let myArray = [["A_1", "1"], ["A_2", "0"], ["A_3", "25"], ["A_4", "3"]]
print(myArray.maxElement()!) // <--- it doesn't work properly
Output: 25  

示例#2 -数组

中哪个键的元素个数最多(项数最多)
let myList = [("A_1", [["C", "C"]]), ("A_2", [["A", "A"], ["B", "B"], ["C", "C"]]), ("A_3", [])]
.... //Trying to figure it out what kind of code to add here... 

Output: A_2  //has 3 items in array

有很多种写法,这里有一种:

let myArray = [["A_1", 1], ["A_2", 0], ["A_3", 25], ["A_4", 3]]
let result1 = myArray.reduce(myArray.first!) { aggregate, element in
    if let aggregateValue = aggregate[1] as? Int,
        let elementValue = element[1] as? Int where aggregateValue < elementValue {
        return element
    } else {
        return aggregate
    }
}[1]
let myList = [("A_1", [["C", "C"]]), ("A_2", [["A", "A"], ["B", "B"], ["C", "C"]]), ("A_3", [])]
let result2 = myList.reduce(myList.first!) { aggregate, element in
    aggregate.1.count < element.1.count ? element : aggregate
}.0
print(result1)
print(result2)

基本上,reduce从一个种子值(每个数组的第一个元素)开始,然后遍历数组以确定哪个是整体的最大值。

我发现了一个非常好的例子。也许你可以把事情变得更好。但是@CodeDifferent提供的也是一个很好的例子。你可以看到我发现的这个例子:

Swift -如何从数组中找到最大的值,并确定它来自哪个数组

我想你会想看的。

相关内容

  • 没有找到相关文章

最新更新