使用类型别名
使用前面所讲的TS基本类型完成一副扑克牌的创建和打印
使用字面量、类型别名定义一副扑克牌以及花色和单张卡面信息
// 定义花色
type Color = "♥" | "♠" | "♦" | "♣";
// 定义扑克牌卡面信息
type NormalCard = {
color: Color
mark: number
}
// 定义一副扑克牌
type Deck = NormalCard[]
创建一个生成扑克牌函数:
function createDeck(): Deck {
const deck: Deck = [];
for (let i = 1; i <= 13; i++) {
deck.push({
mark: i,
color: "♠"
})
deck.push({
mark: i,
color: "♣"
})
deck.push({
mark: i,
color: "♥"
})
deck.push({
mark: i,
color: "♦"
})
}
return deck;
}
辅助打印函数:
function printDeck(deck: Deck) {
let result = "\n";
deck.forEach((card, i) => {
let str = card.color;
if (card.mark <= 10) {
str += card.mark;
}
else if (card.mark === 11) {
str += "J";
}
else if (card.mark === 12) {
str += "Q";
}
else {
str += "K";
}
result += str + "\t";
if ((i + 1) % 6 === 0) {
result += "\n";
}
})
console.log(result);
}
调用:
const deck = createDeck();
printDeck(deck);