You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift:如何计算数组中每个元素的税额并生成新数组

如何计算数组中每个元素对应的美元税额?

你已定义了存储每月收入的数组和税率常量:

let incomePerMonthArray = [0.0, 1.0, 2.0, 3.0]
let taxRate = 10.0

同时实现了单个数值的税额计算函数,但该函数无法直接处理数组:

// Calculate percentage based on given values
public func calculatePercentage(value:Double, percentageVal:Double) -> Double {
    let val = value * percentageVal
    return val / 100.0
}
// 仅支持单个值计算
let taxInUSD = calculatePercentage(value: Double(incomePerMonth), percentageVal: taxRate)

最优实现方式

在Swift中,处理数组元素批量转换的最优方案是使用高阶函数map,它可以简洁高效地遍历数组并对每个元素执行转换操作,以下是两种可行的实现:

方案1:复用已有计算函数

直接用map遍历数组,对每个元素调用你已实现的calculatePercentage函数:

let taxArray = incomePerMonthArray.map { calculatePercentage(value: $0, percentageVal: taxRate) }
  • $0代表当前遍历到的数组元素
  • map会自动收集所有转换后的结果,返回一个新的[Double]数组

方案2:内嵌计算逻辑(更紧凑)

如果不需要单独保留计算函数,可以直接把税额计算逻辑写在map的闭包中:

let taxArray = incomePerMonthArray.map { $0 * taxRate / 100.0 }

这种方式省去了函数调用的开销,代码更简洁,性能同样高效。

两种方案都是Swift标准库推荐的数组转换方式,代码可读性高且性能经过优化,适合处理这类批量计算需求。

内容的提问来源于stack exchange,提问作者Sumiser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:25:17