Zyfe3r
Zyfe3r

Reputation: 653

How to append an array to an array at current index?

I have an array myarray and I am using a for loop to get a few information which I add to myarray. But next time the for-loop runs, I don't want to create a separate index, but instead the 2nd time and so on, I want to append the information to myarray[0].

How do I do that?

var myarray = [String]()

for var j in 0 < 12 {
    // do some stuff
    for var i in 0 ..< 10 {
        let parta = json?["users"][j]["name"].string
        let partb = json?["users"][j]["Lname"].string
        let partc = json?["users"][j]["dob"].string

        myarray.append("\(parta)-\(partb)-\(partc)---")
        // Here when the for loop comes back again (i = 1) , i dont want to make
        // myarray[1] ,  but instead i want myarray[0] ,
        // having value like [parta-partb-partc--parta-partb-partc]
    }
}

Basically what I am trying to do is, append the new name/lname/dob values at myarray[0] without affecting the current value/string at myarray[0].

Upvotes: 0

Views: 358

Answers (2)

henrik-dmg
henrik-dmg

Reputation: 1493

If I understand your question correctly, you want to create one long string and add the new data always at the beginning of the string. One way to do that would be:

// Store somewhere
var myString = String()

for var i in(0..<10) {

    let parta = json?["name"].string
    let partb = json?["Lname"].string
    let partc = json?["dob"].string

    let newString = "\(parta)-\(partb)-\(partc)---")
    newString.append(myString)
    myString = newString
    // Here when the for loop comes back again (i = 1) , i dont want to make 
    //myarray[1] ,  but instead i want myarray[0] , 
    //having value like [parta-partb-partc--parta-partb-partc]
}

Upvotes: 1

PinkeshGjr
PinkeshGjr

Reputation: 8680

You can insert single element and also add array as below.

Swift 5

var myarray = [String]()
myarray.insert("NewElement", at: 0)
myarray.insert(contentsOf: ["First", "Second", "Third"], at: 0)

Upvotes: 3

Related Questions