Swift 获取数组中除“0”以外的所有值;x";价值迅捷3
我是IOS编程新手。我有一个问题,如何获得数组中除x值以外的所有值。假设我有如下数组:Swift 获取数组中除“0”以外的所有值;x";价值迅捷3,swift,Swift,我是IOS编程新手。我有一个问题,如何获得数组中除x值以外的所有值。假设我有如下数组: let array : [Any] = [1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77,200] 如何打印除1和2以外的所有值 我已经读过,它使用的是过滤器,我在游乐场上尝试过,但我仍然没有正确的值。任何回答对我都有帮助。提前感谢。我不知道您为什么将数组定义为[Any],所以我刚刚删除了它,数组是:- let数组=[1,2,3,4,5,6,7,8,9,0,11,22,33
let array : [Any] = [1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77,200]
如何打印除1和2以外的所有值
我已经读过,它使用的是
过滤器
,我在游乐场上尝试过,但我仍然没有正确的值。任何回答对我都有帮助。提前感谢。我不知道您为什么将数组定义为[Any]
,所以我刚刚删除了它,数组是:-
let数组=[1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77200]
接下来,您可以使用过滤器
,如下所示:-
let filtered=array.filter{(元素)->Bool-in
返回元素!=1&&element!=2
}
你可以在操场上测试,它会打印除1和2之外的所有值
您还可以为filter
使用一些语法糖,如下所示:-
array.filter({return$0!=1&&$0!=2})
由于闭包是一个尾随参数,您还可以将其与参数分开,如下所示:-
array.filter{return$0!=1&$0!=2}
另一种方法是
让filtertheout=[1,2]
let anotherWay=array.filter{!filtertheout.contains($0)}
因此,在这里,您基本上可以将要过滤掉的所有元素添加到一个单独的数组中我不知道您为什么将该数组定义为
[Any]
,因此我刚刚删除了该数组,该数组是:-
let数组=[1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77200]
接下来,您可以使用过滤器
,如下所示:-
let filtered=array.filter{(元素)->Bool-in
返回元素!=1&&element!=2
}
你可以在操场上测试,它会打印除1和2之外的所有值
您还可以为filter
使用一些语法糖,如下所示:-
array.filter({return$0!=1&&$0!=2})
由于闭包是一个尾随参数,您还可以将其与参数分开,如下所示:-
array.filter{return$0!=1&&$0!=2}
另一种方法是
让filtertheout=[1,2]
let anotherWay=array.filter{!filtertheout.contains($0)}
因此,您基本上可以在单独的数组中添加要过滤掉的所有元素无需过滤器使用此选项:
for i in array {
if i != 1 && i != 2 {
print i
}
}
//这将打印除1和2之外的所有值。无需使用此过滤器:
for i in array {
if i != 1 && i != 2 {
print i
}
}
//这将打印除1和2之外的所有值。您可以这样做
let array : [Int] = [1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77,200]
print(array.filter { $0 != 1 && $0 != 2 } )
或者,如果您将有超过1或2个值,则可以将它们放入数组中
let array : [Int] = [1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77,200]
let unwantedValues = [1,2]
print(array.filter { unwantedValues.contains($0) == false } )
下次请粘贴您的代码,这样可以更容易地告诉您做错了什么,然后为您提供现成的解决方案。您可以这样做
let array : [Int] = [1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77,200]
print(array.filter { $0 != 1 && $0 != 2 } )
或者,如果您将有超过1或2个值,则可以将它们放入数组中
let array : [Int] = [1,2,3,4,5,6,7,8,9,0,11,22,33,44,55,66,77,200]
let unwantedValues = [1,2]
print(array.filter { unwantedValues.contains($0) == false } )
下次请粘贴您的代码,这样可以更容易地告诉您做错了什么,然后为您提供现成的解决方案。用
过滤器显示您的示例代码,该过滤器不起作用。您的数组不是[任何]
,它是[Int]
。不要注释编译器可以推断的类型。在许多情况下,像这样的情况会使情况变得更糟。使用不起作用的过滤器显示示例代码您的数组不是[Any]
,而是[Int]
。不要注释编译器可以推断的类型。在很多像这样的情况下,你会使情况变得更糟。谢谢,我以前尝试过使用loopfor
,这对我来说很有用。但现在我想知道是否使用过滤器。您的答案比其他人更好我有一个问题,$0
的含义是什么?如果一个闭包包含参数,但您不希望命名这些参数,您可以将其称为$0、$1等。如果您能接受我看到的答案,我将不胜感激。检查5分钟。谢谢,我现在明白了。谢谢,我以前试过在
中使用loop,这对我来说很有用。但现在我想知道是否使用过滤器。您的答案比其他人更好我有一个问题,$0
的含义是什么?如果一个闭包包含参数,但您不希望命名这些参数,您可以将其称为$0、$1等。如果您能接受我看到的答案,我将不胜感激。检查5分钟。谢谢我现在明白了谢谢,我想我的问题很清楚。但下次我会的。再次感谢汉克斯,我想我的问题很清楚。但下次我会的。再次感谢