Skip to content

How to shuffle an array in Swift

This tutorial belongs to the Swift series

Suppose you have an array in Swift, like this:

var items = 1...3

and you want to shuffle it, so that you get its items in random order.

There are 2 ways to do that in Swift.

One way is mutating the original array, and it’s using the shuffle() method that shuffles the items in the array:

items.shuffle()

Note that I used var because an array is a struct, and if I declare it as let then it’s immutable, and you will get an error.

Another way is not mutating the original array, but it’s returning a new array, and it’s using the shuffled() method:

let items = 1...3
let shuffledItems = items.shuffled()

Note that here I am safe to use let to declare my variables because shuffled() does not mutate the original array.


→ Get my Swift Handbook

→ I wrote 17 books to help you become a better developer:

  • C Handbook
  • Command Line Handbook
  • CSS Handbook
  • Express Handbook
  • Git Cheat Sheet
  • Go Handbook
  • HTML Handbook
  • JS Handbook
  • Laravel Handbook
  • Next.js Handbook
  • Node.js Handbook
  • PHP Handbook
  • Python Handbook
  • React Handbook
  • SQL Handbook
  • Svelte Handbook
  • Swift Handbook
...download them all now!

Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list