2016-10-05 24 views
1

我很難找出如何計算多個數組的結束值。我給大家舉一個例子:計數多個數組的最終值 - swift

在這裏,我有四組:

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

比方說那些都是我的陣列。但是,我不知道每次有多少個陣列,可能在1到14之間。

如何顯示有多少個陣列包含結尾值的計數,例如car

希望你能幫助我:-)

+0

因此,您總是在代碼中爲14個數組聲明14個變量,並且在運行時您的應用程序會在1和全部之間使用?我理解正確嗎?只是要確定。 – Moritz

+0

是的,正好@EricAya ..我的意思是根據多少變量使用 –

回答

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 
    } 
} 
+0

太棒了!究竟是我在找什麼:-) –

+0

雖然有一個問題。有時候會有四個數組,像上面的例子,但是我不知道每次會有多少個數組。如果我例如刪除numberFour,那麼我當然會得到和錯誤。有沒有辦法做到這一點? –

+0

顯示更多幫助的代碼。您是否創建數組,其中的數據來自哪裏? –

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] 
    } 
}