当前位置:首页 > 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实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js类实现

js类实现

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

js实现驼峰

js实现驼峰

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

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现上传文件

js实现上传文件

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