我有一个名为'data'的多维数组,初始化如下:
var data = [[String]]()
我可以毫无问题地添加所有必需的数组。
我面临的问题是我需要所有包含的数组具有相同数量的值(我正在创建一个电子表格,我需要在每个数组中具有相同数量的'列')。要做到这一点,我想:
我没有成功找到如何做这些事情。有什么建议吗?
答案 0 :(得分:1)
您可以在max
上使用data
函数来获取最长数组的元素数。
然后你可以遍历数组的每个元素并附加""
,直到达到所需的大小。
这里有一个例子:
var data = [[String]]()
data = [["aaa", "bbb"], ["aaa", "bbb", "ccc"], ["aaa"]]
var longestArrayCount = data.max { $0.count < $1.count }?.count ?? 0
for (index, _) in data.enumerated() {
data[index].append(contentsOf: Array(repeating: "", count: longestArrayCount - data[index].count))
}
print(data)
输出:[[“aaa”,“bbb”,“”],[“aaa”,“bbb”,“ccc”],[“aaa”,“”,“”]
的更新强>
@BallpointBen建议的应用更改