Saltar al contenido

crear array de números aleatorios en swift

Al fin después de tanto trabajar hemos hallado el arreglo de esta problema que ciertos los usuarios de este sitio han tenido. Si tienes algo más que aportar no dudes en aportar tu comentario.

Solución:

En Rápido 4.2 hay un nuevo static método para enteros de ancho fijo que hace que la sintaxis sea más fácil de usar:

func makeList(_ n: Int) -> [Int] 
    return (0..

Editar/actualizar: Swift 5.1 o posterior

También podemos extender Range y ClosedRange y crear un método para devolver n elementos aleatorios:

extension RangeExpression where Bound: FixedWidthInteger 
    func randomElements(_ n: Int) -> [Bound] 
        precondition(n > 0)
        switch self 
        case let range as Range: return (0..: return (0..

extension Range where Bound: FixedWidthInteger 
    var randomElement: Bound  .random(in: self) 


extension ClosedRange where Bound: FixedWidthInteger 
    var randomElement: Bound  .random(in: self) 


Uso:

let randomElements = (1...20).randomElements(5)  // [17, 16, 2, 15, 12]
randomElements.sorted() // [2, 12, 15, 16, 17]

let randomElement = (1...20).randomElement   // 4 (note that the computed property returns a non-optional instead of the default method which returns an optional)

let randomElements = (0..<2).randomElements(5)  // [1, 0, 1, 1, 1]
let randomElement = (0..<2).randomElement   // 0

Nota: para Swift 3, 4 y 4.1 y antes haga clic aquí.

Ok, esto es copiar/pegar una pregunta hecha en otro lugar, pero creo que intentaré recordar esa frase:

var randomArray = map(1...100)_ in arc4random()

(Me encanta !)

EDITAR

Si necesita un número aleatorio con un límite superior (exclusivo), use arc4random_uniform (límite superior)

por ejemplo: número aleatorio entre 0 y 99: arc4random_uniform(100)

Actualización rápida 2

var randomArray = (1...100).map_ in arc4random()

rápido 5

Esto crea un array de tamaño 5, y cuyos elementos van del 1 al 10 inclusive.

let arr = (1...5).map( _ in Int.random(in: 1...10) )

Finalizando este artículo puedes encontrar los comentarios de otros programadores, tú asimismo puedes mostrar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Respuestas a preguntas comunes sobre programacion y tecnología