function getPoker() {
var arr = ['A', 2, 3, 4, 5, 6, 7, 8, 9, 'J', 'Q', 'K']
arr = [...arr, ...arr, ...arr, ...arr, '大王', '小王']
var newArr = []
for (var i = 0; i < 5; i++) {
var random = Math.floor(Math.random() * arr.length)
newArr.push(arr[random])
arr.splice(random, 1)
}
console.log(arr[random]);
console.log(arr.splice(random, 1));
return newArr
}
function temp4(arr) {
console.log('你输入的是', arr);
// 空数组用来存放特殊字符,做转换
var arr1 = []
// 大小王的数量
var num = 0;
// 遍历是否重复
for (var i in arr) {
if (arr.lastIndexOf(arr[i]) + '' !== i) {
return false
}
}
// 两个数组分开数字和特殊字符
for (var i = 0; i < arr.length; i++) {
if (typeof arr[i] === 'string') {
arr1.push(arr[i])
arr.splice(i, 1)
i--;
}
}
// 判断数组的大小王有多少张,并且把特殊字符转为数字
for (var i in arr1) {
if (arr1[i].length > 1) {
arr1[i] = 0;
num++;
// if (num > 2) {
// return false
// }
}
arr1[i] === 'A' && (arr1[i] = 1)
arr1[i] === 'J' && (arr1[i] = 11)
arr1[i] === 'Q' && (arr1[i] = 12)
arr1[i] === 'K' && (arr1[i] = 13)
}
// 合并两个数组
arr = [...arr, ...arr1];
// 进行冒泡排序
arr.sort((a, b) => a - b)
// 如果最大减去最小(大小王除外)为4,并且不重复,则必是顺子
if (arr[4] - arr[num] <= 4) {
return true
} else {
return false
}
}
console.log(temp4(getPoker()));
js扑克牌
最新推荐文章于 2024-03-31 08:58:38 发布
本文介绍了一个JavaScript函数,用于生成扑克牌数组并检查其中的顺子组合。它包括随机抽取牌、特殊字符处理(如大小王)和顺子判定逻辑。核心功能是`temp4`函数,用于验证数组是否构成顺子且无重复。
摘要由CSDN通过智能技术生成