Swift的过滤方法是否稳定?

use*_*280 7 arrays swift

当我在Swift中过滤数组时,我可以期望结果与原始数据的顺序相同吗?例如,我可以指望:

[3, 1, 4, 1, 5, 9, 2, 7].filter{$0 > 4}
Run Code Online (Sandbox Code Playgroud)

总是回来:

[5, 9, 7]
Run Code Online (Sandbox Code Playgroud)

mat*_*att 11

是的,你可以指望它.filterArray 的实例方法调用全局filter方法,其在Swift头文件中的注释明确指出:

返回一个Array含有的元素source,为了,满足谓词

(我的斜体).

此外,这些方法在数组上的全部要点,如mapfilter(以及,就此而言reduce)是一个数组是有序的,它们按顺序循环遍历数组.阵列是一个序列(一个序列类型):它具有带有一个发电机next()被反复调用,以通过阵列循环方法,以便,并且该next()方法方法如何这样通过阵列周期.