我有这样一个数组: var array = ["Chinese", "Italian", "Japanese", "French", "American"]
我想在一个新行上打印出所有单独的元素.
我怎样才能做到这一点?
Vik*_*son 84
我个人最喜欢的调试用途是dump(),它还会打印元素所具有的索引.如果阵列中也有数组也很完美.
var array = ["Chinese", "Italian", "Japanese", "French", "American"]
dump(array)
Run Code Online (Sandbox Code Playgroud)
这将生成以下输出
? 5 elements
- [0]: Chinese
- [1]: Italian
- [2]: Japanese
- [3]: French
- [4]: American
Run Code Online (Sandbox Code Playgroud)
Bas*_*Bas 38
您可以像这样遍历数组并在新行上打印出所有元素:
for element in array {
println(element)
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
对于Swift 2和Swift 3:
for element in array {
print(element)
}
Run Code Online (Sandbox Code Playgroud)
或者如果你想要它在同一条线上:
for element in array {
print(element, terminator: " ")
}
Run Code Online (Sandbox Code Playgroud)
Fir*_*iro 21
从iOS 9开始,您现在可以使用 dump
var someArray = ["one", "two", "three"]
dump(someArray)
Run Code Online (Sandbox Code Playgroud)
这是打印数组的好方法:
var someArray = ["one", "two", "three"]
// prints out the elements separated by a line break
// same as calling "println" on each item in the array:
println(someArray.joinWithSeparator("\n"))
// one
// two
// three
Run Code Online (Sandbox Code Playgroud)
否则,如果你想要它们在同一行,你只需打印数组:
// prints on the same line:
// ["one", "two", "three"]
println(someArray)
Run Code Online (Sandbox Code Playgroud)
注意如果您不喜欢格式化dump(…),那么您可以从其签名中看到它有一些默认参数,因此可以进行一些自定义.
话虽如此,还有两个可供考虑的替代方案可以提供更大的灵活性 - 让您决定是否以牺牲可读性为代价!
首先,如果你喜欢闭包参数表示法,例如简写参数名称,和/或你想在打印它之前先操作你的数组,你可以使用forEach:
array.forEach() { print($0) }
Chinese
Italian
Japanese
French
American
array.sorted(by: {$1 > $0}).forEach() { print($0) }
American
Chinese
French
Italian
Japanese
Run Code Online (Sandbox Code Playgroud)
其次,如果你想要一个索引,但dump(…)有点过于冗长,请尝试:
for (n, nationality) in array.enumerated() { print("\(n) \(nationality)") }
0 Chinese
1 Italian
2 Japanese
3 French
4 America
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56743 次 |
| 最近记录: |