模拟售票窗口前的顾客队列,在队列最前面的人最先买到票。已经买到票的顾客出队,当库存票售完或队伍里没人则停止销售。
<script>
var queue = new Array(); //购票队列
function client(name) //顾客对象
{
this.name = name; //顾客名字
this.ticket = NaN; //票号
}
queue.push(new client("Lily"),new client("Peter"),new client("Vicky"),new client("Tom"),new client("Jakson")); //将顾客排队
tickets = 4; //库存票数
for( ;((queue.length!=0)&&(tickets!=0));) //一直发售直到队伍里没有人或票已经售完
{
var current = queue.shift(); //队首已经买到票的人离开队伍
current.ticket = tickets;
document.write("<br>已售;"+current.name+",流水号"+tickets); //输出已买到票的顾客信息
tickets --; //卖出一张,库存减一
}
alert("销售停止,目前队里有"+queue.length+"人,和"+tickets+"张票!");
</script>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步