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

为何Array.toSorted()在浏览器可运行,在WebStorm及LeetCode环境报错?

为什么toSorted()在LeetCode和WebStorm中报错?
  • 核心原因:运行环境不支持ES2023新API
    Array.prototype.toSorted()是ES2023才新增的数组方法,作用是返回原数组的排序副本且不修改原数组。目前主流现代浏览器已经支持该API,但LeetCode的执行环境、WebStorm默认使用的Node.js版本(低于v20.0.0)还未适配这个新方法,因此会抛出heights.toSorted is not a function的错误。

  • 兼容旧环境的替代写法
    要实现相同的“获取排序副本”效果,可使用传统的slice()+sort()组合:

// 数字数组升序排序
sortedHeights = heights.slice().sort((a, b) => a - b);
// 字符串数组按字典序排序
sortedHeights = heights.slice().sort();

slice()无参调用会生成原数组的浅拷贝,后续对拷贝数组执行sort()不会影响原数组,效果和toSorted()完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:19:55