swift中Array的funcdrop(while)无法正常工作

在 Xcode 11.3 或 12.2 示例代码中:

let numbers = [1, 2, 3, 4, 5, 6]

let dropSlices = numbers.drop {
    $0 > 3
}
print(dropSlices)

发现 dropSlices 是 [1, 2, 3, 4, 5, 6]

dropSlices 应该跳过所有大于 3 的项目,应该是 [1, 2, 3]

回答

No.drop(while: predicate)将在满足条件且第一个元素不成功时删除集合元素。因此,条件失败后不会删除任何元素。如果您想迭代整个集合,您应该filter改用或使用 mutating 方法removeAll(where: predicate)


以上是swift中Array的funcdrop(while)无法正常工作的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>