我想用几个数组项填充2d数组。但是,我只能弄清楚如何在另一个数组之后追加数组。我真正想要的是在2d数组中创建一个新数组,其中包含来自简单数组的某些项。像这样:
//必需的结果myServerInfos = [[“” www.apple.com“,” error“,” no 数据“] [” www.google.com“,”错误“,”无数据“] [” www.amazon.com“, “错误”,“无数据”] [“ www.bla.com”,“错误”,“无数据”]]
这些是我的数组:
迅速4
var myServerInfos = [[String]]()
let pings = ["www.apple.com", "www.google.com", "www.amazon.com", "www.bla.com"]
var statusImagesMain = ["error", "error", "error", "error"]
var serverStatusMain = ["no data", "no data", "no data", "no data"]
我知道我可以通过“ pings.first”访问第一个数组项,我知道应该遍历四个数组中的每个数组,将每个项目保存在一个新数组中,然后将它们附加到myServerInfos。我只是无法弄清楚具体如何做。
答案 0 :(得分:1)
您可以尝试
let myServerInfos = (0..<pings.count).map{
[pings[$0],statusImagesMain[$0],serverStatusMain[$0]]
}
确保所有尺寸都必须相同
答案 1 :(得分:0)
zip()
对于迭代两个数组(或更一般而言,序列)很有用
在平行下。目前没有相应的zip功能需要
超过2个序列,但是使用嵌套的zip()
调用,您可以
所需结果
let myServerInfos = zip(zip(pings, statusImagesMain), serverStatusMain).map {
[$0.0, $0.1, $1]
}
答案 2 :(得分:0)
如果您要查找的代码看起来像您的文本:
[roywell@test01 data]$ ~/readincsv.r
[1] "list"
[1] 1