publicHandler.cal = function(pokerList){
var self = this;
var list = [0];
_.each(pokerList,function(poker){
var point = poker.point;
var list2 = []
_.each(list,(item,index,arr)=>{
// A可以被当作11点
if(point=='A'){
arr[index]+=1;
list2.push(item+11);
}
//JQK
else if(~'JQK'.indexOf(point)){
arr[index]+=10;
}
// 普通点数
else{
arr[index] += (point-0);
}
});
list = list.concat(list2);
// 去重
list = _.uniq(list);
// 超过21的,过滤
list = _.filter(list,item=>item<=21);
});
list = list.sort((a,b)=>{return b-a;});
return list.length?list[0]:-1;
};
棋牌21点的简单算法
用到了underscore