【发布时间】:2019-07-04 21:16:30
【问题描述】:
我有以下数组:
let array = [1,3,2,1,4,3,99,3,5,2,1,45]
我想创建一个新数组 - 其中一个元素与前一个元素的差异大于 10,设置为 0。
// [1,3,2,1,4,3,0,3,5,2,1,0]
目前,我正在创建一个具有差异的新数组,然后过滤该数组以找到大于 10 的数组,然后比较这些数组 - 我觉得这一切都过于复杂了。
let diffArray = zip(array.dropFirst(), array).map(-)
let filteredArray = diffArray.filter {abs($0) > 10}
谢谢!
【问题讨论】:
-
您不能设置元素的索引。您必须交换两个元素或将其插入到 0 索引处,但其他元素将向右移动。请说明你想做什么。
-
好的,将编辑问题。
-
那么第一个号码就可以免票了?
-
好问题。目前是的。
-
这个数组会发生什么? [5, 14, 2]