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

如何修改数组索引从1开始计数并输出1st、2nd等序数格式

解决方案

问题1:实现数组计数从1开始

JavaScript数组原生为0基索引,无需修改数组本身的底层结构,直接在调用索引时对默认索引值+1即可,既符合开发规范也不会引发额外的兼容问题。

问题2:实现阿拉伯数字转序数格式

可以封装一个通用的序数转换函数,覆盖所有常见的序数规则,包括11/12/13的特殊th后缀场景,逻辑如下:

  • 若数字最后两位为11、12、13,统一使用th后缀
  • 否则根据最后一位判断:1对应st,2对应nd,3对应rd,其余数字对应th

修改后的完整代码

<p id = "array"></p>        
<script>
    var car = ["Nissan Skyline R34 GTR", "Toyota Supra A80", "Mazda RX7 FD3S", "Honda NSX Type R", "Nissan 240SX", "Toyoto AE86", "Subaru Impreza WRX Sti", "Honda Civic EG6"];
    
    var text = "";
    car.forEach(script)
    document.getElementById("array").innerHTML = text;

    // 数字转序数函数
    function getOrdinal(num) {
        const lastTwo = num % 100;
        if (lastTwo >= 11 && lastTwo <= 13) {
            return num + 'th';
        }
        const lastOne = num % 10;
        switch(lastOne) {
            case 1: return num + 'st';
            case 2: return num + 'nd';
            case 3: return num + 'rd';
            default: return num + 'th';
        }
    }
    
    function script (value, index, array) {
      // 索引+1得到1基计数,再转序数
      text += ("My " + getOrdinal(index + 1) + " choice is " + value + ". <br>");
    }
</script>

运行后会自动输出My 1st choice is Nissan Skyline R34 GTR.这类符合需求的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:15:04