当前位置:首页 > JavaScript

js实现查找到序数

2026-03-01 22:56:51JavaScript

查找序数的实现方法

在JavaScript中,查找序数(即第1、第2、第3等)可以通过多种方式实现。以下是几种常见的方法:

使用条件语句

通过条件判断返回对应的序数后缀:

js实现查找到序数

function getOrdinalSuffix(num) {
    const j = num % 10;
    const k = num % 100;
    if (j === 1 && k !== 11) return num + "st";
    if (j === 2 && k !== 12) return num + "nd";
    if (j === 3 && k !== 13) return num + "rd";
    return num + "th";
}

使用数组映射

通过数组存储后缀,直接根据数字取对应的序数:

js实现查找到序数

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

使用Intl.PluralRules

利用JavaScript的国际化API处理序数:

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

处理负数和小数

如果需要处理负数或小数,可以扩展上述方法:

function getOrdinalSuffix(num) {
    const absNum = Math.abs(num);
    const j = absNum % 10;
    const k = absNum % 100;
    if (j === 1 && k !== 11) return num + "st";
    if (j === 2 && k !== 12) return num + "nd";
    if (j === 3 && k !== 13) return num + "rd";
    return num + "th";
}

注意事项

  • 序数通常用于正整数,但上述方法可以扩展支持负数和小数。
  • 不同语言和地区的序数规则可能不同,需要根据实际需求调整。
  • 国际化API(Intl.PluralRules)在某些旧浏览器中可能不支持。

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

相关文章

js 实现分页

js 实现分页

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

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…