501 Stimmen

Wie füge ich Arrays in Swift zusammen oder verschmelze sie?

Wenn in Swift zwei Arrays erstellt werden, wie folgt:

var a: [CGFloat] = [1, 2, 3]
var b: [CGFloat] = [4, 5, 6]

Wie können sie zu [1, 2, 3, 4, 5, 6] fusioniert werden?

4voto

meMadhav Punkte 243
var arrayOne = [1,2,3]
var arrayTwo = [4,5,6]

if you want result as : [1,2,3,[4,5,6]]

arrayOne.append(arrayTwo)

above code will convert arrayOne as a single element and add it to the end of arrayTwo.

if you want result as : [1, 2, 3, 4, 5, 6] then,

arrayOne.append(contentsOf: arrayTwo)

above code will add all the elements of arrayOne at the end of arrayTwo.

Thanks.

3voto

handiansom Punkte 742

Hier ist der einfachste Weg, um zwei Arrays zusammenzuführen.

 var array1 = [1,2,3]
 let array2 = [4,5,6]

Konkateniere/führe sie zusammen

array1 += array2
Neuer Wert von array1 ist [1,2,3,4,5,6]

3voto

Kaunteya Punkte 2757

Wenn Sie mit großen Sequenzen arbeiten, wäre es effizienter, die chain Methode aus dem von Apple definierten Algorithms-Paket zu verwenden.

let n1 = [1, 2, 3]
let n2 = [4, 5, 6]

let allNumbers = chain(n1, n2)
for num in allNumbers {
    print(num) // die Schleife gibt 1 bis 6 aus
}

// Ebenso für String-Typ
let s = chain("foo", "BAR") // ergibt "fooBAR"

Vorteile der Chain-Methode gegenüber anderen Methoden:

  1. Erlaubt die Mischung verschiedener Sequenztypen

    let n = chain([10, 20, 30], 1...3) // wird 10, 20, 30, 1, 2, 3 ergeben

  2. Keine neuen Speicherzuweisungen

Die chain Methode durchläuft im Wesentlichen die erste Sequenz und beginnt nahtlos mit der Iteration der zweiten Sequenz, wenn sie das Ende der ersten Sequenz erreicht.

1voto

Jeremy Andrews Punkte 797

Ebenso kann man mit Wörterbüchern von Arrays:

var dict1 = [String:[Int]]()
var dict2 = [String:[Int]]()
dict1["key"] = [1,2,3]
dict2["key"] = [4,5,6]
dict1["key"] = dict1["key"]! + dict2["key"]!
print(dict1["key"]!)

und man kann über dict1 iterieren und dict2 hinzufügen, wenn der "key" übereinstimmt

-1voto

Abhishek Gupta Punkte 601

Übereinstimmende Array, die unterschiedliche Datentypen enthalten :

var arrayInt = [Int]()
arrayInt.append(6)
var testArray = ["a",true,3,"b"] as [Any]
testArray.append(someInt)

Ausgabe :

["a", true, 3, "b", "hi", 3, [6]]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X