Is there a way to instantly generate an array filled with a range of values in Swift?

六月ゝ 毕业季﹏ 提交于 2019-11-27 04:35:59

You can create an array with a range like this:

var values = Array(0...100)

This give you an array of [0, ..., 100]

You can create a range and map it into an array:

var array = (0...30).map { $0 }

The map closure simply returns the range element, resulting in an array whose elements are all integers included in the range. Of course it's possible to generate different element and types, such as:

var array = (0...30).map { "Index\($0)" }

which generates an array of strings Index0, Index1, etc.

You can use this to create array that contains same value

let array = Array(count: 5, repeatedValue: 10)

Or if you want to create an array from range you can do it like this

let array = [Int](1...10)

In this case you will get an array that contains Int values from 1 to 10

create an Int array from 0 to N-1

var arr = [Int](0..<N)

create a Float array from 0 to N-1

var arr = (0..<N).map{ Float($0) }

create a float array from 0 to 2π including 2π step 0.1

var arr:[Float] = stride(from: 0.0, to: .pi * 2 + 0.1, by: 0.1).map{$0}
or
var arr:[Float] = Array(stride(from: 0.0, to: .pi * 2 + 0.1, by: 0.1))
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!