Arrays 替换阵列中的值切片<;浮动>;
我试图过滤一个Arrays 替换阵列中的值切片<;浮动>;,arrays,swift,Arrays,Swift,我试图过滤一个ArraySlice,将低于-5000和高于-5000的值替换为-5000和5000。 我可以应用一个条件,但如何同时应用两个条件? 我想补充一点,如果值大于5000,用5000替换它,我怎么做 filteredData.append(contentsOf: data.map({ return $0 < -5000 ? -5000 : $0})) filteredData.append(contentsOf:data.map({return$0
ArraySlice
,将低于-5000和高于-5000的值替换为-5000和5000。
我可以应用一个条件,但如何同时应用两个条件?我想补充一点,如果值大于5000,用5000替换它,我怎么做
filteredData.append(contentsOf: data.map({ return $0 < -5000 ? -5000 : $0}))
filteredData.append(contentsOf:data.map({return$0<-5000?$5000:$0}))
您可以使用if-else
语句来检查这两种情况
let filteredData = floatData.map { value -> Float in
if value > 5000 {
return 5000
} else if value < -5000 {
return -5000
} else {
return value
}
}
根据任务条件,我们来做:
filteredData.append(contentsOf: data.map({ $0 < -5000 ? -5000 : $0 > 5000 ? 5000 : $0}))
filteredData.append(内容:data.map({$0<-5000?$5000:$0>5000?5000:$0}))
这称为夹紧–请参阅了解各种方法。这是错误的。这两个条件都返回负值。顺便说一句,你可以使用模式。匹配运算符-5000…5000~=$0$0:value
但此处不是这种情况。这还假设filteredData为空,但可能不是空的true@LeoDabus我的错,误读了这个问题。至于省略附加
,我只是在一个操场上创建了一个最小的可复制示例,如果OP需要附加
,应该很容易更改。非常感谢大家
filteredData.append(contentsOf: data.map({ $0 < -5000 ? -5000 : $0 > 5000 ? 5000 : $0}))