arraysswifthigh-order-component

Purpose of Array "Join" function in Swift


What is the use of join() in arrays?

In other languages, it is used to join elements of array into string. For example,
Ruby Array.join

I've asked some question about join() in Swift Array join EXC_BAD_ACCESS


Solution

  • Here is a somewhat useful example with strings:

    Swift 3.0

    let joiner = ":"
    let elements = ["one", "two", "three"]
    let joinedStrings = elements.joined(separator: joiner)
    print("joinedStrings: \(joinedStrings)")
    

    output:

    joinedStrings: one:two:three

    Swift 2.0

    var joiner = ":"
    var elements = ["one", "two", "three"]
    var joinedStrings = elements.joinWithSeparator(joiner)
    print("joinedStrings: \(joinedStrings)")
    

    output:

    joinedStrings: one:two:three

    Swift 1.2:

    var joiner = ":"
    var elements = ["one", "two", "three"]
    var joinedStrings = joiner.join(elements)
    println("joinedStrings: \(joinedStrings)")
    

    The same thing in Obj-C for comparison:

    NSString *joiner = @":";
    NSArray *elements = @[@"one", @"two", @"three"];
    NSString *joinedStrings = [elements componentsJoinedByString:joiner];
    NSLog(@"joinedStrings: %@", joinedStrings);
    

    output:

    joinedStrings: one:two:three