【问题标题】:How to Multiply Each element of an array multiply by each element of Next array in Swift?如何将数组的每个元素乘以 Swift 中下一个数组的每个元素?
【发布时间】:2019-12-30 10:32:56
【问题描述】:

我有两个数组。

let quntityArr = ["1","3","4","7"]

let priceArr = ["£129.95", "£179.95","£169.95","£199.85"]

我想通过以下方式将这两个数组相乘

let totalArr = ["1*£129.95", "3*£179.95", "4*£169.95", "7*£199.85"]

在这里,我想用这些产品数量计算每个价格。

【问题讨论】:

标签: arrays swift multiplication


【解决方案1】:

你需要

let quntityArr:[Double] = [1,3,4,7]

let priceArr = [129.95, 179.95,169.95,199.85]

let totalArr = zip(quntityArr, priceArr).map { "£\($0 * $1)" }

print(totalArr)

【讨论】:

    【解决方案2】:

    假设您的输入数据以字符串数组的形式提供。

    1。输入数据

    let quntityArr = ["1","3","4","7"]
    let priceArr = ["£129.95", "£179.95","£169.95","£199.85"]
    

    2。转换 Int 和 Double 数组中的输入数据

    let quantities = quntityArr
        .compactMap(Int.init)
    let prices = priceArr
        .map { $0.dropFirst() }
        .compactMap (Double.init)
    

    3。验证没有丢弃任何输入值

    assert(quntityArr.count == quantities.count)
    assert(priceArr.count == prices.count)
    

    4。算算

    let results = zip(quantities, prices).map { Double($0) * $1 }.map { "£\($0)"}
    

    5。结果

    ["£129.95", "£539.8499999999999", "£679.8", "£1398.95"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多