Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
如何在swift中从数组中删除单词?_Swift - Fatal编程技术网

如何在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明确说明要删除的内容。