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

为什么调用sort函数时提示‘不是函数’?代码问题排查

问题原因及修复
  • 报错核心:sort()是JavaScript数组的专属方法,而prompt()函数返回的是字符串类型的数据,字符串没有sort()方法,所以调用时会提示“sort不是函数”。
  • 你的代码还有两个额外问题:
    1. 每次循环都直接把fruits赋值为新的输入字符串,没有把多次输入的水果存入数组,永远只是单个字符串。
    2. 循环条件写的是i < 6,但需求是收集top5水果,应该改成i < 5;另外变量i没声明,会变成全局变量,建议用let声明。

修复后的代码示例:

// 先初始化fruits为数组
let fruits = [];
// 用let声明循环变量i
for (let i = 0; i < 5; i++){
    // 把每次输入的水果push进数组
    let input = prompt(`请输入第${i+1}种喜欢的水果:`);
    fruits.push(input);
}
// 对数组排序
fruits.sort();
// 打印排序后的数组
console.log(fruits);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:30:53