2016-10-05 1 views
1

Es fällt mir schwer herauszufinden, wie man den Endwert mehrerer Arrays zählt. Lassen Sie mich Ihnen ein Beispiel geben:Endwert von mehreren Arrays zählen - swift

Hier habe ich vier Arrays haben:

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

Können sagen, das sind meine Arrays sind. Ich weiß jedoch nicht, wie viele Arrays es jedes Mal gibt, kann zwischen 1 und 14 sein.

Wie zeige ich eine Zählung für wie viele Arrays gibt es einen Endwert von zum Beispiel car?

Hoffe ihr könnt mir :-)

+0

Sie deklarieren immer 14 Variablen für 14 Arrays in Ihrem Code und zur Laufzeit verwendet Ihre App zwischen 1 und allen von ihnen? Habe ich richtig verstanden? Nur um sicher zu gehen. – Moritz

+0

Ja genau @EricAya .. ich meine basierend auf wie viele der Variablen, die verwendet werden –

Antwort

3

Ein Weg helfen kann:

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 
} 

Ein anderer:

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

Das ist großartig! Genau das, was ich gesucht habe :-) –

+0

Es gibt jedoch ein Problem. Manchmal gibt es vier Arrays wie im obigen Beispiel, aber ich weiß nicht, wie viele Arrays es jedes Mal geben wird. Und wenn ich zum Beispiel die Nummer Vier entferne, dann bekomme ich natürlich einen Fehler. Gibt es eine Möglichkeit, dies zu tun? –

+0

mehr Code für help.how anzeigen Erstellen Sie Arrays, woher die Daten stammen? –

0

Diese mehr Pseudo-Code als ein exaktes Beispiel ist, kann es sein, Syntax Probleme. Aber das wird Ihnen ein Wörterbuch, eine Anzahl und die Auswahl-Arrays für jedes gegebene letzte Element geben. Es mag übertrieben sein, aber Sie haben nicht genau gesagt, was Sie wollten, also habe ich beschlossen, so viele Daten wie möglich zu bekommen.

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