Swift中数组"Join"函数的用途

Kos*_*val 55 arrays join swift high-order-component

join()在数组中有什么用?什么目的?在其他语言中,它用于将数组元素连接到字符串中.例如,
Ruby Array.join

我在Swift Array加入EXC_BAD_ACCESS时问了一些关于join()的问题

zap*_*aph 155

这是一个有用的字符串示例:

Swift 3.0

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

输出:

joinStrings:一:二:三

Swift 2.0

var joiner = ":"
var elements = ["one", "two", "three"]
var joinedStrings = elements.joinWithSeparator(joiner)
print("joinedStrings: \(joinedStrings)")
Run Code Online (Sandbox Code Playgroud)

输出:

joinStrings:一:二:三

Swift 1.2:

var joiner = ":"
var elements = ["one", "two", "three"]
var joinedStrings = joiner.join(elements)
println("joinedStrings: \(joinedStrings)")
Run Code Online (Sandbox Code Playgroud)

在Obj-C中用于比较的相同内容:

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

输出:

joinStrings:一:二:三

  • 作为旁注:`joinWithSeparator`适用于带字符串的数组,id est` [String]`,但不适用于其他数组类型,如`[Int]` (4认同)