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

JavaScript中Array.reverse()函数无法正常工作问题求助

问题原因拆解

嘿,核心问题其实很简单——你把原本的数组变量直接覆盖成字符串了!

咱们一步步捋你的代码:

  • 第一行var NumberOfString = new Array(5);确实创建了一个长度为5的空数组,这步没问题。
  • 但第二行NumberOfString = prompt("정수 5개를 입력하세요: ");直接把这个变量重新赋值成了prompt返回的字符串(哪怕用户输入的是用逗号分隔的5个数,它本质还是字符串类型)。
  • 而reverse()是数组专属的方法,字符串并没有这个方法,所以调用NumberOfString.reverse()自然会失效,甚至在浏览器控制台里能看到明确的报错信息。
修复后的代码示例

要让reverse()正常工作,得先把用户输入的字符串转换成数组,再进行操作:

// 获取用户输入,并用逗号分割成数组
var inputStr = prompt("정수 5개를 입력하세요(쉼표로 구분해주세요): ");
var NumberOfString = inputStr.split(',');

// 可选:把数组里的字符串转成数字类型(如果需要做数值运算的话)
NumberOfString = NumberOfString.map(item => parseInt(item, 10));

// 输出原数组
document.write("입력된 수의 배열" + "<br/>" + NumberOfString + "<hr>");

// 反转数组并输出
document.write("역순으로 재정렬된 배열" + "<br>");
document.write(NumberOfString.reverse());
额外小提示
  • 如果不想修改原数组(reverse()会直接改变原数组本身),可以先复制一份再反转,比如用扩展运算符:[...NumberOfString].reverse()
  • 记得提醒用户用逗号分隔输入,不然split(',')没法正确拆分出单个数字元素哦~

内容的提问来源于stack exchange,提问作者Tourscholar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 22:58:11