【问题标题】:Square every element in an Int of arrays. (Swift)将 Int 数组中的每个元素平方。 (迅速)
【发布时间】:2017-06-15 18:19:13
【问题描述】:

我对 Swift 编程语言比较陌生,这个看似简单的任务让我非常难过。如果有人可以帮助我解决这个问题,将不胜感激:

“编写一个函数,接收一个 Ints 数组并返回另一个数组及其平方。例如,输入 [1, 3, 4] 产生 [1, 9 ,16]”

谢谢!

【问题讨论】:

  • 在我回答这个问题之前,这是家庭作业吗?分发这些问题的答案通常是不受欢迎的。
  • 您尝试过任何方法吗?您在哪里卡住了?你能写一个函数吗?一个接受一个数组并返回另一个数组的函数? – 当然有优雅的单线解决方案,但你应该先尝试something
  • 不!我正在自学,并且已经阅读了几本不同的工作簿并通过示例学习。我只是绝对找不到
  • @MartinR 我知道这些基本概念,我只是不知道如何迭代数组中的单独整数。
  • 《The Swift Programming Language》一书中的例子let mappedNumbers = numbers.map({ number in 3 * number })已经接近你需要的了。

标签: arrays swift int


【解决方案1】:
func myFunc(myArray : [Int]) -> [Int] {
    return myArray.map({ Int(pow(Double($0), 2.0)) })
}

【讨论】:

  • @MartinR:OP 特别想要一个函数,但是是的,这是 pow(Double($0), 2.0) 的有效替代品,这可能会让新程序员感到困惑。好电话!
  • 非常感谢你们! MartinR 的变化肯定比我所知道的 Swift 水平要高一些。
  • 你应该检查溢出,如果pow的结果大于Int的大小,代码会崩溃。
【解决方案2】:
let potatoPrice = [10, 20, 25, 40, 55, 75, 90, 100, 115, 120]    

let potatoPriceSquared = potatoPrice.map({ potatoPrice in potatoPrice * potatoPrice })

print(potatoPriceSquared)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2015-03-17
    相关资源
    最近更新 更多