Sorting an Array in Random Order

  • A+
Category:Languages

I'm trying to understand how sorting an array in random order so i found this code:

var as = ["max","jack","sam"];   var s = as.sort(func);    function func(a, b) {     return 0.5 - Math.random(); }    console.log(s);

my main question is why they use 0.5 not another number? and how it really works please try to make it simple i'm new in javascript and i'm struggling with these things

 


You used

var as = ["max","jack","sam"];   var s = as.sort(func);    function func(a, b) {     return 0.5 - Math.random(); }    console.log(s); 

And here the most important thing is as.sort(func). func(a,b) will return value in range of [-0.5,0.5].

Because this function return 0.5 - Math.random() and Math.random() will return the float value which is in range of [0,1]. So that your func will return value in range of [-0.5,0.5].

And this mean that sort order will be set increase or decrease. this is random. So your result will be random

var as = ["max","jack","sam"];   var s = as.sort(func);    function func(a, b) {     return Math.random(); }    console.log(s);

var as = ["max","jack","sam"];   var s = as.sort(func);    function func(a, b) {     return 0 - Math.random(); }    console.log(s);

var as = ["max","jack","sam"];   var s = as.sort(func);    function func(a, b) {     return 0.5 - Math.random(); }    console.log(s);

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: