Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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 按低于特定数字的值筛选数组_Arrays_Swift_Filter - Fatal编程技术网

Arrays 按低于特定数字的值筛选数组

Arrays 按低于特定数字的值筛选数组,arrays,swift,filter,Arrays,Swift,Filter,我有这个阵列: let numbers = [0,1,2,3,4,5,6,7,8,9] 我想在下面的数组中添加6以下的所有数字: var belowSix = [Int]() 以下是我所做的工作,它是有效的: for number in numbers { if number < 6 { belowSix.append(number) } } 用于数字中的数字{ 如果数字小于6{ belowSix.append(编号) } } 问题: 感觉这可以更顺

我有这个阵列:

let numbers = [0,1,2,3,4,5,6,7,8,9]
我想在下面的数组中添加6以下的所有数字:

var belowSix = [Int]()
以下是我所做的工作,它是有效的:

for number in numbers {
    if number < 6 {
        belowSix.append(number)
    }
}
用于数字中的数字{
如果数字小于6{
belowSix.append(编号)
}
}
问题:
感觉这可以更顺利地完成,有什么建议吗?

是的,你可以用它

let belowSix = numbers.filter { $0 < 6 }
让belowSix=numbers.filter{$0<6}
是的,您可以使用它

let belowSix = numbers.filter { $0 < 6 }
让belowSix=numbers.filter{$0<6}
如果您想要(最多)前6个元素:

var belowSix = numbers.prefix(6)
如果要获得6以下的所有元素,请使用:

let belowSix = numbers.filter { $0 < 6 }
让belowSix=numbers.filter{$0<6}
如果您想要(最多)前6个元素:

var belowSix = numbers.prefix(6)
如果要获得6以下的所有元素,请使用:

let belowSix = numbers.filter { $0 < 6 }
让belowSix=numbers.filter{$0<6}

数组总是被排序吗?@EricAya,是的is@SameSome如果您的数字数组是
[0,1,2,3,4,2,5,6,7,8,9]
怎么办?在这种情况下,如果您使用
前缀(6),它将不会显示
5
如果您使用
过滤器
而不是
前缀
会更好,因为前缀用于从数组中获取特定对象starting@SameSome如果您使用数组
[0,1,2,3,4,2,5,6,7,8,9]
尝试了
前缀(6)
,您将无法获得所需的结果,因为数组总是排序的?@EricAya,是的is@SameSome如果您的数字数组是
[0,1,2,3,4,2,5,6,7,8,9]
怎么办?在这种情况下,如果您使用
前缀(6),它将不会显示
5
如果您使用
过滤器
而不是
前缀
会更好,因为前缀用于从数组中获取特定对象starting@SameSome您是否尝试过使用数组
[0,1,2,3,4,2,5,6,7,8,9]
作为前缀(6),如果数组未排序(如果不包含所有数字),您将无法获得所需的结果,然后,
前缀(6)
将不起作用。正如OP所写的那样,总是这样。在具有重复项的数组上尝试此操作,即使它已排序-例如,
[1,1,2,2,2,3,4,4,5,5,5,5,5,5,5]
如果数组的对象少于6,如[2,5,6,7,8]@NiravD,那么它将显示所有值,如果它在下面。如果数组未排序(如果不包含所有数字),那么
前缀(6)
将不起作用。正如OP所写的那样,总是这样。在具有重复项的数组上尝试此操作,即使它已排序-例如,
[1,1,2,2,2,2,2,3,4,4,5,5,5]
如果数组的对象少于6,如[2,5,6,7,8]@NiravD,那么它将显示所有值,如果它在下面。