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)
其中打印:
您使用什么逻辑对元素进行分组?