当我在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,为了,满足谓词
(我的斜体).
此外,这些方法在数组上的全部要点,如map和filter(以及,就此而言reduce)是一个数组是有序的,它们按顺序循环遍历数组.阵列是一个序列(一个序列类型):它具有带有一个发电机next()被反复调用,以通过阵列循环方法,以便,并且该next()方法是方法如何这样做通过阵列周期.
| 归档时间: |
|
| 查看次数: |
762 次 |
| 最近记录: |