You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过prompt()创建二维数组并实现最高得分球员统计?

用prompt()创建球员信息二维数组并统计最高得分球员

你可以通过以下方式实现用prompt()收集用户输入来构建球员信息二维数组,同时保留你原有的最高得分统计逻辑:

完整实现代码

// 收集用户输入的球员信息
function collectPlayerInfo() {
    let playerInfo = [];
    // 获取球员数量并验证输入有效性
    let playerCount = prompt("请输入球员的总数量:");
    // 确保输入是大于0的有效数字
    while (isNaN(playerCount) || playerCount <= 0) {
        playerCount = prompt("输入无效,请输入一个大于0的数字作为球员数量:");
    }
    playerCount = parseInt(playerCount);

    // 循环收集每个球员的名字和得分
    for (let i = 0; i < playerCount; i++) {
        let playerName = prompt(`请输入第${i+1}位球员的名字:`);
        // 确保名字不为空
        while (!playerName.trim()) {
            playerName = prompt(`名字不能为空,请重新输入第${i+1}位球员的名字:`);
        }

        let playerScore = prompt(`请输入${playerName}的得分:`);
        // 确保得分是有效非负数字
        while (isNaN(playerScore) || playerScore < 0) {
            playerScore = prompt(`得分无效,请输入一个非负数字作为${playerName}的得分:`);
        }
        playerScore = parseInt(playerScore);

        // 将当前球员信息加入数组
        playerInfo.push([playerName, playerScore]);
    }
    return playerInfo;
}

// 你原有的最高得分球员统计函数
function highestRunScorer(playerinfo) {
    var highScorer = playerinfo[0][0];
    var highScore = playerinfo[0][1];
    for (var x = 1; x < playerinfo.length; x++) {
        if (highScore < playerinfo[x][1]) {
            highScore = playerinfo[x][1];
            highScorer = playerinfo[x][0];
        }
    }
    return highScorer;
}

// 执行完整流程
var playerData = collectPlayerInfo();
var topPlayer = highestRunScorer(playerData);
alert(`最高得分的球员是:${topPlayer}`);
console.log(`最高得分的球员是:${topPlayer}`);

关键细节说明

  • 输入验证:加入循环判断逻辑,避免用户输入无效内容(比如非数字的球员数量、空名字、负数得分)导致程序出错。
  • 类型转换:用parseInt()把用户输入的得分从字符串转为数字类型,保证后续得分比较的逻辑正常运行。
  • 流程衔接:新的collectPlayerInfo()函数负责收集输入并返回二维数组,直接传入你原有的统计函数即可完成功能。

内容的提问来源于stack exchange,提问作者Shahe Imran Imon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:35:03