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}))