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

为何HackerRank平台无法使用JavaScript的.toSorted()方法?

为什么HackerRank中无法使用toSorted()方法?

核心原因是toSorted()是ES2023(ECMAScript 2023)才新增的数组方法,而HackerRank当前使用的JavaScript运行环境(通常是Node.js)版本较低,还未支持这个新特性,所以调用时会触发“方法未定义”的报错。

你改用的[...arr].sort(...)能成功运行,是因为:

  • sort()是ES3就存在的老牌数组方法,兼容性覆盖几乎所有现代JavaScript环境;
  • 扩展运算符[...arr]是ES6特性,HackerRank的环境已经支持,它会创建一个原数组的浅拷贝,之后对拷贝数组调用sort()(原地排序),既不会修改原数组,又能兼容低版本运行环境。

另外,你也可以用arr.slice().sort(...)替代扩展运算符,效果完全一致,同样是先复制数组再排序,避免修改原数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:39:58