当前位置:首页 > JavaScript

js实现查找到序数

2026-04-04 23:46:10JavaScript

查找序数的方法

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

js实现查找到序数

使用条件判断

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,可以更国际化地处理序数:

js实现查找到序数

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)];
}

处理边界情况

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

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 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…