计算多个数组的最终值 - 快速

时间:2016-10-05 16:57:52

标签: ios arrays swift

我很难找到如何计算多个数组的结束值。让我举个例子:

这里我有四个数组:

let numberOne: [string] = ["...", "...", "car"]
let numberTwo: [string] = ["...", "...", "bike"]
let numberThree: [string] = ["...", "...", "car"]
let numberFour: [string] = ["...", "...", "car"]

让我们说这些是我的阵列。但是,我不知道每次有多少个数组,可以在1到14之间。

如何显示包含结尾值的数组的数量,例如car

希望你能帮助我: - )

2 个答案:

答案 0 :(得分:3)

一种方式:

func countLastEelement(){
    let numberOne: [String] = ["...", "...", "car"]
    let numberTwo: [String] = ["...", "...", "bike"]
    let numberThree: [String] = ["...", "...", "car"]
    let numberFour: [String] = ["...", "...", "car"]

    let numbers:[[String]] = [numberOne, numberTwo, numberThree, numberFour]

    var count:Int! = 0

    for number in numbers {
        if number[number.count-1] == "car" {
            count = count + 1
        }
    }
    print(count) // output: 3
}

另:

for number in numbers {
    if number.last == "car"{
        count = count + 1
    }
}

答案 1 :(得分:0)

这是一个伪代码而不是一个确切的例子,可能存在语法问题。但是这会给你一个字典,计数和任何给定的最后一个元素的选择数组。它可能有些过分,但你并没有准确地说出你想要的东西,所以我决定尽可能多地获取数据。

var arraySet : [Array] = [[]] //Your set of arrays
var unique : [String:[Array]] = [:]
for array in arraySet{
    if(unique[array.last] == nil)
    {
        unique[array.last] = [array]
    }
    else
    {
        unique[array.last] += [array]
    }
}