2015-09-19 53 views
-1

我有以下阵列:如何在Swift 2.0中将数组的元素添加到单个数组中?

var array1 = [[aruna,bala,chitra], [marya,navya,ovya], [jaya,kala,latha], [stella,taruna,unna]] 
var array2 = [] 

我怎么可以添加和删除阵列1值的元素到数组2刚刚元素,而不是数组。 像这样:

,如果我想要添加2 and 4阵列,

array2 = [marya,navya,ovya,stella,taruna,unna] //Expected Output 

,如果我想删除2阵列

array2 = [stella,taruna,unna] //Expected Output 

我不能使用appendarray2.append(array1[[1]])增加2数组错误说:

Cannot subscript a value of type [NSArray] with the index of type [int]这是完整的没错。

回答

1

我们假设这些都是Ints。为简单起见,我将用实际的数字文字:

var array1 = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]] 
var array2 = array1[1] + array1[3] // [4,5,6,10,11,12] 

另一种方式:

var array1 = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]] 
var array2 = [Int]() 
array2 += array1[1] 
array2 += array1[3] // [4,5,6,10,11,12] 

另一种方式:

var array1 = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]] 
var array2 = Array([array1[1], array1[3]].flatten()) // [4,5,6,10,11,12] 

编辑好了,你已经改变了你的代码。但答案是一样的:

let aruna = "aruna" 
let bala = "bala" 
let chitra = "chitra" 
let marya = "marya" 
let navya = "navya" 
let ovya = "ovya" 
let jaya = "jaya" 
let kala = "kala" 
let latha = "latha" 
let stella = "stella" 
let taruna = "taruna" 
let unna = "unna" 

var array1 = [[aruna,bala,chitra], [marya,navya,ovya], [jaya,kala,latha], [stella,taruna,unna]] 

var array2 = Array([array1[1], array1[3]].flatten()) 
// ["marya", "navya", "ovya", "stella", "taruna", "unna"] 
+0

因为所有都是'字符串'我试过:'array2 = [array1 [1],array1 [3]]。flatten()as! [字符串]'但它没有日志崩溃 – AAA

+0

你能显示你的真实代码吗?光秃秃的'a'不是一个字符串;这是一个变量名称。显示'a'和'b'和'c'等等如何得到值。 – matt

+0

另外,当您测试我的代码时,请测试_my_代码,而不是其他代码。你根本没有复制我给出的任何例子。你不能在Swift中说出你喜欢的任何东西。我没有说任何东西,我把所有的东西都包装在一个'Array(...)'中。这些事情是有原因的。 – matt

相关问题