Arrays 在Swift中将值追加到多维数组

Arrays 在Swift中将值追加到多维数组,arrays,swift,Arrays,Swift,我有一个称为“数据”的多维数组,其初始化如下: var data = [[String]]() 我可以将我所需的所有数组添加到此中而不会出现问题 我面临的问题是,我需要所有包含的数组都具有相同数量的值(我正在创建一个电子表格,并且需要每个数组中具有相同数量的“列”)。为此,我试图: 查找最长数组的计数 在每个数组的末尾追加一个“”数(即空白值),以等于最大计数 我在发现如何做这两件事中的任何一件都没有成功。有什么建议吗?您可以在数据上使用max函数来获取最长数组的元素数 然后,您可以迭代数组的

我有一个称为“数据”的多维数组,其初始化如下:

var data = [[String]]()
我可以将我所需的所有数组添加到此中而不会出现问题

我面临的问题是,我需要所有包含的数组都具有相同数量的值(我正在创建一个电子表格,并且需要每个数组中具有相同数量的“列”)。为此,我试图:

  • 查找最长数组的计数
  • 在每个数组的末尾追加一个“”数(即空白值),以等于最大计数

  • 我在发现如何做这两件事中的任何一件都没有成功。有什么建议吗?

    您可以在
    数据上使用
    max
    函数来获取最长数组的元素数

    然后,您可以迭代数组的每个元素并附加
    ,直到它达到所需的大小

    这里有一个例子:

    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)
    
    var数据=[[String]]()
    数据=[“aaa”,“bbb”],[“aaa”,“bbb”,“ccc”],[“aaa”]]
    var longestaraycount=data.max{$0.count<$1.count}?count??0
    对于data.enumerated()中的(索引,ux){
    数据[index].append(内容:数组(重复:“”,计数:longestaraycount-data[index].count))
    }
    打印(数据)
    
    输出:[“aaa”,“bbb”,“bbb”,“ccc”,“aaa”,“bbb”,“ccc”,“aaa”,“bbb”,“ccc”],[“aaa”,“bbb”,“bbb”,“ccc”],[“aaa”,“bbb”,“bbb”,“ccc”],[“aaa”,“bbb”,“ccc”,“bbb”,“bbb”,“ccc”


    更新


    @BallpointBen

    建议的应用更改看起来像是在尝试使用类似矩阵的结构。谢谢你。我会调查的。以前没有遇到过这种情况。执行
    data[index].append(contentsOf:Array(repeating:,count:longestaraycount-data[index].count))会更有效。
    我完全同意:)工作得很好。谢谢你们两位!:)