如何在swift中从数组中删除单词?
我有以下变量:如何在swift中从数组中删除单词?,swift,Swift,我有以下变量: var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"] 对于这些水果,我有另一个变量:apple=1或0,appricot=1或0 我的问题是,例如,如果Apple==1,如何使单词“Apple”出现在列表中?如果apple==0,我的列表是: var fruits = [ "Apricot", "Banana", "Blue
var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
对于这些水果,我有另一个变量:apple=1或0,appricot=1或0
我的问题是,例如,如果Apple==1,如何使单词“Apple”出现在列表中?如果apple==0,我的列表是:
var fruits = [ "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
如果我理解您的问题,您希望水果数组为苹果如果
苹果==1
或不带苹果的水果数组。您可以使用下面的代码。如果我不理解这个问题,而这不是您想要达到的,请发布更多代码并更明确
var fruits : [String] = []
if apple == 0 {
fruits = [ "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
} else {
fruits = ["Apple"]
}
稍后编辑:
好吧,我更了解你的问题。您希望构建一个水果数组,如果水果的变量为1,则希望它位于数组中
首先,必须使用Bool
类型的变量,而不是Int
您可以使用两个数组,一个带有Bool
和fruits
变量。匹配它们的索引,例如水果包含的[0]
将匹配水果[0]
,在您的案例中是“苹果”
。然后创建一个最终的水果数组(finalarayoffruits
),其中的水果是true
var fruits = [ "Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
var fruitsIncluded = [true, false, false, true, false, true, true, false]
var finalArrayOfFruits : [String] = []
for i in 0..<fruits.count {
if fruitsIncluded[i] {
finalArrayOfFruits.append(fruits[i])
}
}
var fruits=[“苹果”、“杏子”、“香蕉”、“蓝莓”、“哈密瓜”、“樱桃”、“克莱门汀”、“椰子”]
var FROUTSINCLUDED=[真,假,假,真,假,真,真,假]
var finalArrayOfFruits:[字符串]=[]
对于0中的i.
- 要从数组中删除元素,只需使用
fruits.remove(位于:[index])
因此,在您的示例中,它将如下所示:
var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
var apple = 0
if apple == 0 {
fruits.remove(at: 0) //remove 0th index in your array, which is "Apple"
}
var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
var fruits2 = fruits
var apple = 0
if apple == 0 {
fruits2 = fruits.filter { $0 != "Apple" }
}
- 为了更安全地使用它,您可以使用
fruits.filter{$0!=“[fruit name]”}
。这将保留原始阵列,并创建新阵列。
它看起来像这样:
var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
var apple = 0
if apple == 0 {
fruits.remove(at: 0) //remove 0th index in your array, which is "Apple"
}
var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry","Clementine", "Coconut"]
var fruits2 = fruits
var apple = 0
if apple == 0 {
fruits2 = fruits.filter { $0 != "Apple" }
}
首先,应该使用Bool而不是Int。其次,它不应该是变量。只需创建一个字典什么是“variable:apple=1”?请发布您的完整代码您需要一个字典而不是数组I不建议从原始数组中删除,如果apple、banana等的值在用户输入时更改,并且apple在之前为0时变为1,该项将从数组中永久删除。添加了过滤器
函数,以防OP明确说明要删除的内容。