Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Swift:如何将不同的数组元素填充到组中?_Arrays_Swift - Fatal编程技术网

Arrays Swift:如何将不同的数组元素填充到组中?

Arrays Swift:如何将不同的数组元素填充到组中?,arrays,swift,Arrays,Swift,我正在尝试解决一个数组问题。 我有一组对象,如下所示: ["Banana", "Apple", "Banana", "Orange", "Apple", "Banana", "Orange", "Apple"] [["Banana", "Apple", "Orange"], ["Banana", "Apple", "Orange"], ["Banana", "Apple"]] 并尝试将它们组合成一个二维数组,如下所示: ["Banana", "Apple", "Banana", "Ora

我正在尝试解决一个数组问题。 我有一组对象,如下所示:

["Banana", "Apple", "Banana", "Orange", "Apple", "Banana", "Orange", "Apple"]
[["Banana", "Apple", "Orange"], 
["Banana", "Apple", "Orange"], 
["Banana", "Apple"]]
并尝试将它们组合成一个二维数组,如下所示:

["Banana", "Apple", "Banana", "Orange", "Apple", "Banana", "Orange", "Apple"]
[["Banana", "Apple", "Orange"], 
["Banana", "Apple", "Orange"], 
["Banana", "Apple"]]
你知道如何使用Swift吗?

这行吗

let array = ["Banana", "Apple", "Banana", "Orange", "Apple", "Banana", "Orange", "Apple"]
var groupArray:[[String]] = []

for x in array {
    var elementPushed = false
    for (index, y) in groupArray.enumerated() {
        if(!y.contains(x)) {
            groupArray[index].append(x)
            elementPushed = true
            break
        }
    }
    if !elementPushed {
        groupArray.append([x])
    }
}

在事先不了解数组内容的情况下,可以通过以下方式创建包含唯一元素的数组:

let fruits = ["Banana", "Apple", "Banana", "Orange", "Apple", "Banana", "Orange", "Apple"]

var output = [[String]]()

for fruit in fruits {
    if let arrayIndex = output.firstIndex(where: { !$0.contains(fruit) })  {
        output[arrayIndex].append(fruit)
    } else {
        output.append([fruit])
    }
}

print(output)     
其中打印:


您使用什么逻辑对元素进行分组?