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

如何对字符数组按字母排序并将各字符出现次数拼接为整数返回

函数实现方案

完整代码

function numberRepresentation(arr) {
    // 空数组特殊处理
    if (!arr.length) return 0
    // 1. 对数组按字母升序排序
    const sortedArr = arr.sort()
    let countStr = ''
    let currentChar = sortedArr[0]
    let currentCount = 1
    // 2. 遍历统计连续相同字符的出现次数
    for (let i = 1; i < sortedArr.length; i++) {
        if (sortedArr[i] === currentChar) {
            currentCount++
        } else {
            countStr += currentCount
            currentChar = sortedArr[i]
            currentCount = 1
        }
    }
    // 追加最后一个字符的计数
    countStr += currentCount
    // 3. 转成数字类型返回
    return Number(countStr)
}

功能验证

你提供的示例输入测试:
输入['b','a','a','a','c','b','a'],执行后排序结果为['a','a','a','a','b','b','c'],统计得到次数依次为4、2、1,拼接后转数字返回421,完全符合需求。

关键逻辑说明

  • 排序直接使用JS数组原生sort()方法,默认对字符串元素按Unicode码点升序排列,刚好匹配字母升序排序的需求
  • 遍历排序后的数组直接统计连续相同字符的次数,不需要额外用对象存储所有字符计数后再二次排序,运行效率更高
  • 最后将拼接好的数字字符串转成Number类型返回,符合函数返回值要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:45:01