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

CodeWars为何不接受我的JavaScript解法?编程新手求助

CodeWars JS题目解法修正

题目要求

给定一个整数n,返回将其所有数字按降序排列后的整数。示例:

  • 输入12345,返回54321
  • 输入145263,返回654321
  • 输入1254859723,返回9875543221

你的代码问题

你写的代码有两个核心问题导致平台不通过:

  1. 调用parseFloat(result)后没有将转换结果赋值给变量,最终返回的是字符串类型,但题目要求返回数字类型,测试用例的类型检查会失败。
  2. 多余调用了reverse()方法——后面的sort((a,b)=>b-a)已经完成了降序排序,reverse完全没必要,属于冗余操作。

修正后的代码

function descendingOrder(n) {
  return parseInt(n.toString().split('').sort((a, b) => b - a).join(''), 10);
}

说明

  • 流程:数字转字符串 → 拆分为单个字符数组 → 降序排序 → 拼接为字符串 → 转为十进制整数返回。
  • 使用parseInt并指定第二个参数10,可以避免处理特殊数字时的进制歧义。
  • 对于输入0的情况,代码会正确返回数字0,而非字符串"0",符合题目要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:15:26