shuffle.js 349 B

1234567891011121314151617181920
  1. 'use strict';
  2. var values = require('../helpers/values');
  3. module.exports = function shuffle() {
  4. var items = values(this.items);
  5. var j;
  6. var x;
  7. var i;
  8. for (i = items.length; i; i -= 1) {
  9. j = Math.floor(Math.random() * i);
  10. x = items[i - 1];
  11. items[i - 1] = items[j];
  12. items[j] = x;
  13. }
  14. this.items = items;
  15. return this;
  16. };