如何在Swift中获取数组中值的总和
如何在Swift中获取数组中值的总和?
在Swift中,可以使用以下方法来获取数组中值的总和:
let a = [5,6,8,9,2,6,8]
var sum = 0
var smallestNumber = a[0]
var largestNumber = a[0]
for number in a {
sum += number
if number < smallestNumber {
smallestNumber = number
}
if number > largestNumber {
largestNumber = number
}
}
let smallestSum = sum - largestNumber
let largestSum = sum - smallestNumber
可以看到,上述代码使用了一个迭代来计算数组中所有值的总和。同时,还使用了两个变量`smallestNumber`和`largestNumber`来分别存储数组中的最小值和最大值。在每次迭代中,通过比较当前值和已存储的最小值和最大值来更新这两个变量。
最后,通过将总和减去最大值和最小值,可以得到数组中除了最大值和最小值之外的所有值的总和。
另外,还可以使用以下方法来获取数组中值的总和:
var max = Int.min
var min = Int.max
let sum = values.reduce(0) {
max = Swift.max(max, $1)
min = Swift.min(min, $1)
return $0 + $1
}
let maxSum = sum - min
let minSum = sum - max
上述代码使用了`reduce`方法来计算数组中所有值的总和。在每次迭代中,使用`max`和`min`来分别存储数组中的最大值和最小值。通过将总和减去最大值和最小值,可以得到数组中除了最大值和最小值之外的所有值的总和。
以上就是在Swift中获取数组中值的总和的方法,这些方法都很简洁且符合Swift的风格。
原因:这个问题的出现是因为需要找到一个数组中所有元素的和。
解决方法:可以通过遍历数组并累加每个元素来实现。下面是一个用Swift语言解决这个问题的示例代码:
let array: [Int] = [1, 2, 3, 4, 5]
let sum = array.reduce(0, +)
print("Sum: \(sum)")
以上代码中,我们首先定义了一个整型数组`array`,然后使用`reduce`方法计算数组中所有元素的和。`reduce`方法接受两个参数:一个初始值(这里是0)和一个闭包(这里是`+`运算符)。闭包将累加器和数组中的每个元素相加,并返回累加结果。最后,我们通过`print`函数输出结果。
这样,我们就可以得到数组中所有元素的和。