const values = [1,2,3,4,5,6,7,8,9,10]; // lodash const shuffledByLodash = _.shuffle(values); document.getElementById('lodash').append(shuffledByLodash.join(',')); // ES6 const shuffleByES6 = array => { // deep copy const ary = array.slice(); for (let i = ary.length - 1; 0 < i; i--) { let r = Math.floor(Math.random() * (i + 1)); // ary[i] <-> ary[r] [ary[i], ary[r]] = [ary[r], ary[i]]; } return ary; } const shuffledByES6 = shuffleByES6(values); document.getElementById('es6').append(shuffledByES6.join(',')); // ES5 var shuffleByES5 = function (array) { // deep copy var ary = array.slice(); for (var i = ary.length - 1; 0 < i; i--) { var r = Math.floor(Math.random() * (i + 1)); // ary[i] <-> ary[r] var temp = ary[i]; ary[i] = ary[r]; ary[r] = temp; } return ary; }; var shuffledByES5 = shuffleByES5(values); document.getElementById('es5').append(shuffledByES5.join(','));
<h2>lodash</h2> <div id="lodash"></div> <h2>ES6</h2> <div id="es6"></div> <h2>ES5</h2> <div id="es5"></div>