首页 > 解决方案 > 在 Swift 中创建一个以可变整数作为输入的平方数数组

问题描述

我是新手,也许这是一个非常糟糕的方法,所以请告诉我。我想通过一个函数创建一个整数数组,该函数使用可变参数整数作为输入并返回数组中这些整数的平方。但最后我强制用一个以 [0] 结尾的虚假整数来初始化返回数组。如何在我的返回数组中消除这个 0 和/或这个问题的正确解决方案是什么?谢谢。

func square(numbers: Int...) -> [Int] {
    var x = 0
    var y = [0]
    var counter = 0
    for i in numbers {
        repeat {
            x = i*i
            counter+=1
            y.append(x)
        } while counter == numbers.count
    }
    return y
}

标签: swiftfuncvariadic

解决方案


您可以简单地在正方形上使用map ( _:),即numbersreturn

func square(numbers: Int...) -> [Int] {
    numbers.map { $0 * $0 }
}

无需为Swift已经提供的内容编写样板代码。


推荐阅读