Saturday, December 28, 2024
Google search engine
HomeLanguagesJavascriptUnderscore.js _.shuffle Function

Underscore.js _.shuffle Function

The Underscore.js _.shuffle() function is used to arrange a list of arrays in a random manner. This _.shuffle() underscore function uses Fisher Yates Shuffle which is discussed in the below-mentioned article. So, every time we use this the output of this function will be different according to the Fisher Yates Shuffle. 

Syntax:

_.shuffle(list)

Parameters: This function accepts a single parameter List. This parameter is used to hold the list of items that will be shuffled. 

Return values: The returned value is the new randomized array containing all the elements which are in the original array which is passed to the _.shuffle() function. 

Passing a numeric array to the _.shuffle() function: The ._shuffle() function takes the element from the list one by one and does the specified operations according to the fisher Yates Shuffle. Then console.log() is the final answer which will contain all the elements of the original array in the randomized problem. 

Example: 

html




<script src=
</script>
  
<script type="text/javascript">
    console.log(_.shuffle(_.shuffle([1, 2, 3, 4, 5, 6])));
</script>


Output: The output shuffles every time we run the code.

[1, 2, 3, 6, 5, 4] //1st time
[3, 6, 2, 4, 5, 1] //2nd time
[5, 6, 1, 4, 3, 2] //3rd time

Passing a structure to the _.shuffle() function: Passing a structure to the _.shuffle() function. First, declare the array like here the array is ‘goal’ and then pass this array to the _.shuffle() function. The elements of the ‘goal’ array will be shuffled along with all their properties. 

Example: This example demonstrates the above-used approach.

html




<script src=
</script>
  
<script type="text/javascript">
    var goal = [
    {
        "category" : "other",
        "title" : "harry University",
        "value" : 50000,
        "id":"1"
    },
    {
        "category" : "travelling",
        "title" : "tommy University",
        "value" : 50000,
        "id":"2"
    },
    {
        "category" : "education",
        "title" : "jerry University",
        "value" : 50000,
        "id":"3"
    },
    {
        "category" : "business",
        "title" : "Charlie University",
        "value" : 50000,
        "id":"4"
    }
            ]
            console.log(_.shuffle(goal));
</script>


Output: The output shuffles every time we run the code.

[[object Object] {
  category: "business",
  id: "4",
  title: "Charlie University",
  value: 50000
}, [object Object] {
  category: "travelling",
  id: "2",
  title: "tommy University",
  value: 50000
}, [object Object] {
  category: "education",
  id: "3",
  title: "jerry University",
  value: 50000
}, [object Object] {
  category: "other",
  id: "1",
  title: "harry University",
  value: 50000
}]

Passing a list with one property as true/false to the _.shuffle() function: First, declare the array (here array is ‘people’). Choose one condition on which need to check like here ‘hasLongHairs’. Console.log the final answer. The final answer will be a randomized array as the fisher yates shuffle uses a random function in it’s algorithm. 

Example: This example demonstrates the above-used approach.

html




<script src=
</script>
  
<script type="text/javascript">
    var people = [
    {"name": "sakshi", "hasLong": "false"},
    {"name": "aishwarya", "hasLong": "true"},
    {"name": "akansha", "hasLong": "true"},
    {"name": "preeti", "hasLong": "true"}
            ]
            console.log(_.shuffle(people, 'name'));
</script>


Output: The output shuffles every time we run the code.

[[object Object] {
  hasLong: "true",
  name: "preeti"
}, [object Object] {
  hasLong: "true",
  name: "akansha"
}, [object Object] {
  hasLong: "false",
  name: "sakshi"
}, [object Object] {
  hasLong: "true",
  name: "aishwarya"
}]

Declaring an array and then passing it to the _.shuffle() function: Declaring an array let ‘users’ with a property as ‘num’ and then pass it to the _.shuffle() function. Then console.log the new randomized array. The output will be different every time you run it.

Example: This example demonstrates the above-used approach.

html




<script src=
</script>
  
<script type="text/javascript">
    var users = [{"num":"1"}, {"num":"2"}, {"num":"3"}, 
                 {"num":"4"}, {"num":"5"}];
            console.log(_.shuffle(users, 'id'));
</script>


Output: The output shuffles every time we run the code.

[[object Object] {
  num: "5"
}, [object Object] {
  num: "4"
}, [object Object] {
  num: "3"
}, [object Object] {
  num: "1"
}, [object Object] {
  num: "2"
}]

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments