Arrays 使用Swift的for in循环中的一组字符串填充数组

Arrays 使用Swift的for in循环中的一组字符串填充数组,arrays,swift,for-in-loop,Arrays,Swift,For In Loop,我有点被弄糊涂了。我想用来自for-in循环的字符串值填充数组 这里有一个例子 let names = ["Anna", "Alex", "Brian", "Jack"] for x in names { println(x) } 当前x值将生成4个字符串值(Anna、Alex、Brian、Jack) 然而,我需要一些关于如何将这四个值返回到数组中的建议。先谢谢你 for-in表达式右侧的任何内容都必须是SequenceType数组,可以用任何序列类型初始化。如果你只是在做这

我有点被弄糊涂了。我想用来自for-in循环的字符串值填充数组

这里有一个例子

 let names = ["Anna", "Alex", "Brian", "Jack"]

 for x in names {
     println(x)
 }
当前x值将生成4个字符串值(Anna、Alex、Brian、Jack)


然而,我需要一些关于如何将这四个值返回到数组中的建议。先谢谢你

for-in表达式右侧的任何内容都必须是
SequenceType
<代码>数组,可以用任何
序列类型
初始化。如果你只是在做这样的事情:

var newArray: [String] = []
for value in exoticSequence {
  newArray.append(value)
}
通过这样做,同样的事情也可以完成(更快):

let newArray = Array(exoticSequence)
无论是什么类型的
exoticSequence
:如果in循环中的
起作用,
Array()
将起作用

但是,如果您正在对
exoticSequence
应用某种转换,或者需要某种副作用,
.map()
可能是一种方法<任何
SequenceType
上的code>.map()
都可以返回数组。同样,这是更快、更清晰的:

let exoticSequence = [1, 2, 3]

let newArray = exoticSequence.map {
  value -> Int in
  // You can put whatever would have been in your for-in loop here
  print(value)
  // In a way, the return statement will replace the append function
  let whatYouWouldHaveAppended = value * 2
  return whatYouWouldHaveAppended
}

newArray // [2, 4, 6]
这相当于:

let exoticSequence = [1, 2, 3]

var newArray: [Int] = []
for value in exoticSequence {
  print(value)
  let whatYouWouldHaveAppended = value * 2
  newArray.append(whatYouWouldHaveAppended)
}

newArray // [2, 4, 6]

names
已经是您想要的4个字符串的数组。。。或者我误解了这个问题?对不起,我不清楚。我的意思是,如果我想制作一个新的数组,比如说由这四个名称组成的namearray2。我如何使用for in语句生成的值来实现它?最简单的方法是不使用for循环:
let newNames=names
或者,如果要对字符串执行一些转换,需要
map
let uppercaseNames=names.map{$0.uppercaseString}
创建一个新数组,其中包含
[“安娜”、“亚历克斯”、“布赖恩”、“杰克”]