当前位置:首页 > JavaScript

js实现查找到序数

2026-04-04 23:46:10JavaScript

查找序数的方法

在JavaScript中,查找序数(ordinal numbers)通常涉及将数字转换为对应的序数形式,例如1变为"1st",2变为"2nd",3变为"3rd"等。以下是几种实现方式:

使用条件判断

function getOrdinal(num) {
    const lastDigit = num % 10;
    const lastTwoDigits = num % 100;

    if (lastTwoDigits >= 11 && lastTwoDigits <= 13) {
        return num + 'th';
    }

    switch (lastDigit) {
        case 1: return num + 'st';
        case 2: return num + 'nd';
        case 3: return num + 'rd';
        default: return num + 'th';
    }
}

使用数组映射

function getOrdinal(num) {
    const suffixes = ['th', 'st', 'nd', 'rd'];
    const remainder = num % 100;
    return num + (suffixes[(remainder - 20) % 10] || suffixes[remainder] || suffixes[0]);
}

使用Intl.PluralRules

现代JavaScript提供了Intl.PluralRulesAPI,可以更国际化地处理序数:

function getOrdinal(num) {
    const pr = new Intl.PluralRules('en', { type: 'ordinal' });
    const suffixMap = {
        one: 'st',
        two: 'nd',
        few: 'rd',
        other: 'th'
    };
    return num + suffixMap[pr.select(num)];
}

处理边界情况

对于非整数或负数的处理:

js实现查找到序数

function getOrdinal(num) {
    if (!Number.isInteger(num) || num < 0) return num.toString();

    const lastDigit = num % 10;
    const lastTwoDigits = num % 100;

    if (lastTwoDigits >= 11 && lastTwoDigits <= 13) {
        return num + 'th';
    }

    switch (lastDigit) {
        case 1: return num + 'st';
        case 2: return num + 'nd';
        case 3: return num + 'rd';
        default: return num + 'th';
    }
}

这些方法都可以有效地将数字转换为序数形式,选择哪种方法取决于具体需求和运行环境。第一种方法简单直接,第二种方法更简洁,第三种方法则支持国际化。

标签: 序数js
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…