我有一个包含1000个元素的数组,这些元素从0到1浮动。
我想扫描该数组,并将低于某个阈值的所有值清零,比如0.3
。
我知道我可以做像这样的事情
let filteredArrayOnDict = myArray.filter { $0 > 0.3}
我将获得一个新的数组,其中的元素位于0.3
之上。但这不是我想要的。我希望将元素置零到0.3以下,并使生成的数组具有相同的元素数。
我可以遍历数组,如下所示
var newArray : [Double] = []
for item in myArray {
if item > 0.3 {
newArray.append(item)
} else {
newArray.append(0)
}
}
但我想知道是否有一些更优雅的方法使用这些神奇的命令,如过滤器,地图,平面地图等。
发布于 2019-03-20 04:00:49
您可以尝试使用map进行此操作
var resultArray = myArray.map({$0 > 0.3 ? $0 : 0})
https://stackoverflow.com/questions/55248975
复制相似问题