Example #1
0
function randomize(deck) {
  var i;
  deck = _.values(deck);
  for (i = Math.floor(Math.random() * 400 + 10); i > 0; i = -1) {
    deck = _.shuffle(deck);
  }
  return deck;
}
Example #2
0
var _ = require('underscore')._;
var fs = require('fs');

var data = JSON.parse(fs.readFileSync('../negochat_private/parsed_finalized.json'))

data = _.shuffle(data)
data = _.shuffle(data)
data = _.shuffle(data)
data = _.shuffle(data)
data = _.shuffle(data)
data = _.shuffle(data)

console.log(JSON.stringify(data, null, 4))
Example #3
0
// invoke: 在list里的每个元素上调用名为methodName的函数,任何附加的函数传入,invoke将会转给调用的函数
var v = _.invoke([[2,1,3], [4,5,2]], 'sort')
console.log("v", v);

// pluck: 提取一个集合里指定的属性值
var users = [
    {name:'moe', age: 40},
    {name:'larry', age: 50}
];
console.log(_.pluck(users, 'name'));
// max, min, sortBy:取list中的最大,最小元素,自定义比较器
console.log(_.max(users, function(stooge){
    return stooge.age
}));
console.log(_.min(users, function(stooge){
    return stooge.age //{ name: 'moe', age: 40 }
}));
console.log(_.sortBy([3,4,1,2,6], function(num){
    return Math.max(num);//[ 1, 2, 3, 4, 6 ]
}));

// groupBy 一个集合分成多个集合
console.log(_.groupBy(['one', 'two', 'three'], 'length'));//{ '3': [ 'one', 'two' ], '5': [ 'three' ] }
// size 得到list中元素个数
console.log(_.size({one:1, two:2, three: 3})); //3
// shuffle:随机打乱一个数据
console.log(_.shuffle([1,2,3,4,5,6,7]));
// countBy 把一个数据分组后计数
console.log(_.countBy([1,2,3,4,5], function(num){
    return num % 2 == 0 ? 'even':'odd'; //{ odd: 3, even: 2 }
}));
	getRandomKey: function(length) {
		srcArr = _.shuffle(srcArr);
		var srcSample = _.sample(srcArr, length);
		return srcSample.join('');
	}