数组–join(_:)函数抛出EXC_BAD_ACCESS。

var ar1 = [1,2,3]
var ar2 = [5,6,7]
var res = ar1.join(ar2)
有人遇到过这个问题吗?有什么解决办法或建议吗?

最佳答案

你想要的是

var ar1 = [1,2,3]
var ar2 = [5,6,7]
var res = ar1 + ar2

通常,您可以通过在另一个第一级元素之间插入另一个数组中的元素来使用join()来展平一个两级数组:
var ar1 = [1,2,3]
var ar2 = [[4,5,6],[7,8,9],[10,11,12]]
let res = ar1.join(ar2) // [4, 5, 6, 1, 2, 3, 7, 8, 9, 1, 2, 3, 10, 11, 12]

该函数对字符串的使用方式也相同:
let ar1 = ["1","2","3"]
let res = ".!?".join(ar1) // "1.!?2.!?3"

10-05 18:16