有没有一种简单的方法可以从快速数组中删除每个第n个元素。例如,在下面的数组中:
thisArray = [2.0, 4.0, 3.0, 1.0, 4.5, 3.3, 1.2, 3.6, 10.3, 4.4, 2.0, 13.0]
如果n = 3
和从第一个元素开始计数想返回:
returnThis = [2.0, 4.0, 1.0, 4.5, 1.2, 3.6, 4.4, 2.0]
// swift 4.1:
thisArray.enumerated().compactMap { index, element in index % 3 == 2 ? nil : element }
.enumerated()
附加指标.compactMap
来通过返回来过滤索引2、5、8,...处的项目nil
,并通过返回just来除去其余部分的索引element
。(如果您使用的是Swift 4.0或更低版本,请使用.flatMap
代替.compactMap
。该.compactMap
方法由SE-0187在Swift 4.1中引入)
(如果您坚持使用Swift 2,请使用.enumerate()
代替.enumerated()
。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句