如何将switch语句中prompt输入的用户添加到JavaScript数组?
修改后的代码
let userList = ["Sarah","Bryan","Scott","Mirande","Tamzin","Tamryn","Steven","Peter","Skippi","Sheldon"] console.log(userList) let menu = prompt("===== Menu ===== \n" + "What would you like to do?\n\n" + "1.Add three Users\n" + "2.Remove User\n"+"3.Display all users \n" + "4.Sort users \n") let choice = menu; switch(choice){ case '1': // 循环3次获取每个用户输入并添加到数组 for (let i = 0; i < 3; i++) { const newUser = prompt(`请输入第${i + 1}个用户名`); // 过滤空输入,避免添加无效内容 if (newUser?.trim()) { userList.push(newUser.trim()); } } alert("用户添加完成"); break; case '2': prompt("Remove User"); break; case '3': // 补充显示所有用户的逻辑 alert(`所有用户:\n${userList.join('\n')}`); break; case '4': // 补充排序逻辑,按字母顺序排序 userList.sort(); alert("用户已按字母顺序排序"); break; default: alert("请刷新浏览器"); break; } console.log(choice); console.log(userList);
关键修改说明
- 完善case '1'的核心逻辑:
- 用
for循环执行3次输入操作,分别捕获每个用户名 - 保存
prompt的返回值,调用userList.push()将有效输入(去除首尾空格且非空)添加到数组 - 用
alert反馈操作完成状态
- 用
- 可选优化补充:
- 给case '3'添加了实际显示用户列表的逻辑,而非仅提示文字
- 给case '4'补充了排序实现,调用
sort()完成默认字母排序并反馈结果
内容的提问来源于stack exchange,提问作者Learning Smart
相关产品推荐
相关产品推荐

