Swift 减去单个数组值

Swift 减去单个数组值,swift,Swift,我有一个类似[70,71,72,80,90,100,120]的数组。我想找到像[71-70]=1、[72-71]=1、[80-72]=2这样的差异,然后将差异保存在数组中。请帮帮我。提前谢谢 解决此问题的多种方法: 一个简单的for循环: 在这种情况下,第二种方法并不是真正的最佳方法。只是为了展示你能用reduce做些什么。方法1应该解决您的问题假设我们有以下扩展,将一个数组分解为成对数组 extension Array { func chunked() -> [[Element]

我有一个类似[70,71,72,80,90,100,120]的数组。我想找到像[71-70]=1、[72-71]=1、[80-72]=2这样的差异,然后将差异保存在数组中。请帮帮我。提前谢谢

解决此问题的多种方法:

一个简单的for循环:
在这种情况下,第二种方法并不是真正的最佳方法。只是为了展示你能用reduce做些什么。方法1应该解决您的问题

假设我们有以下扩展,将一个数组分解为成对数组

extension Array {
    func chunked() -> [[Element]] {
        return stride(from: 0, to: count-1, by: 1).map {
            Array(self[$0 ..< Swift.min($0 + 2, count)])
        }
    }
}
还是像这样

let diffs = array.chunked().map { $0[1] - $0[0] }
print(diffs)
// prints [1, 1, 8, 10, 10, 20]

请给我一些你试过的代码。我不使用代码,我不知道我能做什么。doPerson应该自己试一下,否则他将永远做不到什么,他将一直等待tipsI同意,这是一个非常基本的问题。基本问题是可以的,但他甚至没有尝试自己做。这是“为我做”类型的问题,为了更好地避免编写现成的代码,否则他自己的学习能力将永远无法提高
extension Array {
    func chunked() -> [[Element]] {
        return stride(from: 0, to: count-1, by: 1).map {
            Array(self[$0 ..< Swift.min($0 + 2, count)])
        }
    }
}
let array = [70, 71, 72, 80, 90, 100, 120]

var array2 = array.chunked()
print(array2)
// prints [[70, 71], [71, 72], [72, 80], [80, 90], [90, 100], [100, 120]]

let array3 = array2.map { $0[1] - $0[0]  }
print(array3)
// prints [1, 1, 8, 10, 10, 20]
let diffs = array.chunked().map { $0[1] - $0[0] }
print(diffs)
// prints [1, 1, 8, 10, 10, 20]