javascript封装函数并写上注释从若干扑克牌中随机抽5张牌判断是不是一个顺子即这五张牌是不是连续的
/**
- 判断五张扑克牌是否为顺子
- @param {Array} arr - 五张扑克牌组成的数组
- @returns {boolean} - 返回结果为true则为顺子,false则不是顺子 */ function isStraight(arr) { // 先将数组从小到大排序 arr.sort(function(a, b) { return a - b; }); // 统计0的个数 let countZero = 0; for(let i = 0; i < arr.length; i++) { if(arr[i] === 0) { countZero++; } else { break; } } // 统计间隔数 let countGap = 0; for(let i = countZero + 1; i < arr.length; i++) { if(arr[i] === arr[i-1]) { return false; } else { countGap += arr[i] - arr[i-1] - 1; } } // 判断0的个数是否大于等于间隔数 if(countZero >= countGap) { return true; } else { return false; } }
// 示例: let poker = [1, 2, 0, 0, 5]; let result = isStraight(poker); console.log(result); // true
原文地址: https://www.cveoy.top/t/topic/bbLz 著作权归作者所有。请勿转载和采集!