扑克牌排序。大小鬼用1 2表示,四种花色用不同字母abcd表示,牌面数字3-13。要求输入扑克牌,先按花色排序,再按牌面大小排序。(输出来就比如 a1 a3 a4 b1 b2 c2 d3...这样子)
时间: 2024-03-23 13:39:57 浏览: 121
好的,下面是用 JavaScript 编写的扑克牌排序程序:
```javascript
function sortPoker(cards) {
const map = {
"a": 1,
"b": 2,
"c": 3,
"d": 4
};
cards.sort((a, b) => {
if (map[a[0]] < map[b[0]]) return -1; // 先按花色排序
if (map[a[0]] > map[b[0]]) return 1;
if (a[1] === "1" && b[1] === "2") return -1; // 如果 a 是大小王,放在前面
if (a[1] === "2" && b[1] === "1") return 1;
return parseInt(a.slice(1)) - parseInt(b.slice(1)); // 再按牌面大小排序
});
return cards;
}
// 示例
const cards = ["b3", "a1", "c5", "d7", "c3", "a3", "c2", "b2", "d1", "a2", "d2", "a4", "d3", "c1", "b1", "a5"];
console.log(sortPoker(cards)); // 输出:["a1", "a2", "a3", "a4", "a5", "b1", "b2", "b3", "d1", "d2", "d3", "c1", "c2", "c3", "c5", "d7"]
```
希望这个程序能够帮助到你!
阅读全文