我想将序数字符串转换为其数字 例如
...
尝试过此功能,但返回其序数,而不是数字
function nth(n){return["st","nd","rd"][((n+90)%100-10)%10-1]||"th"}
它应该是该函数的反函数
答案 0 :(得分:6)
只需使用parseInt
console.log(parseInt("1st"))
答案 1 :(得分:5)
您可以删除后两个字符,因为后缀的长度是恒定的。
function toNum(str) {
return parseInt(str.substring(0, str.length - 2));
}
console.log(toNum("1st"));
答案 2 :(得分:0)
使用parseInt()
从字符串简单地提取数值
parseInt("1st");
这将从字符串中提取1,即整数
答案 3 :(得分:0)
您还可以将功能match(...)
与Regular Expression /[0-9]+/
一起使用。
console.log("3rd".match(/[0-9]+/)[0]) // -> 3
console.log("52381st".match(/[0-9]+/)[0]) // -> 52381
仅执行"3rd".match(/[0-9]+/)
会返回一个带有一些有用数据的对象,但是仅访问属性[0]
会为您提供所需的输出(如果您不想执行{ {1}}和其他答案一样都在提到哈哈。