Subscribe

# Vanilla JavaScript Shuffle Array

• • • • • • • + 4 devs liked it

✍️

Learn how to randomly shuffle the item in an array. We will have a random order of items afterwards. See the code example on Codepen.

21 Jun, 2020 · 2 min read

Now and then, you randomly need to shuffle an array in `JavaScript`. There is a super-easy way of doing it. We can use the `sort()` method and pass a random number.

So in today's tutorial, I will teach you how to shuffle an array in Javascript.

As mentioned in the introduction, we will be using the `sort` method. In the end, we will have all items in a randomized order.

This method, without any parameters, will sort an array in a natural way like 123 and abc.

See the following example:

``````const charArray = ['d', 'f', 'a', 'c', 'b', 'e'];
const numArray = [1, 5, 3, 2, 4];

console.log(charArray.sort());
// ["a", "b", "c", "d", "e", "f"]

console.log(numArray.sort());
// [1, 2, 3, 4, 5]``````

As you can see, the Arrays get normalized sorted. But we can also pass a specific argument that we are going to use to randomize the array sorting.

``````const rockPaperScissor = ['💎', '📄', '✂️'];
console.log(rockPaperScissor.sort(() => 0.5 - Math.random()));``````

This will randomly shuffle the array. Let me explain in depth.

The `sort` function compares two elements, where element one is bigger than two. It will put the index lower or higher.

As for the `.5 - Math.random()` this will return a value between -0.5 and 0.5

So whenever the value is below 0, the element is placed before the other element. And otherwise, it will be positioned after the item.

### See the code example in this Codepen permalink

You can test this and see it in action on this Codepen.

See the Pen Vanilla JavaScript Shuffle Array by Chris Bongers (@rebelchris) on CodePen.

Tweet this tip
• • • • • • • + 4 devs liked it

### TypeORM viewEntity

30 Mar, 2022 · 5 min read ### The Record Utility Type in TypeScript

12 Mar, 2022 · 3 min read Join 1513 devs and subscribe to my newsletter

• 823 articles written
• 1513 devs subscribed
• 490824 words written