我想把序数字符串转换成相应的数字,例如:
- "1st" 转换成 1
- "2nd" 转换成 2
- "3rd" 转换成 3
...
尝试使用以下函数,但它返回的是序数而不是数字:
function nth(n){return["st","nd","rd"][((n+90)%100-10)%10-1]||"th"}
应该是这个函数的反函数。
我想把序数字符串转换成相应的数字,例如:
...
尝试使用以下函数,但它返回的是序数而不是数字:
function nth(n){return["st","nd","rd"][((n+90)%100-10)%10-1]||"th"}
应该是这个函数的反函数。
just use parseInt
console.log(parseInt("1st"))
function toNum(str) {
return parseInt(str.substring(0, str.length - 2));
}
console.log(toNum("1st"));
parseInt()
会自动执行这个操作。 - Andreas使用 parseInt()
简单地从字符串中提取数字值
parseInt("1st");
这将从字符串中提取一个整数 1。
你也可以使用函数match(...)
和正则表达式/[0-9]+/
。
console.log("3rd".match(/[0-9]+/)[0]) // -> 3
console.log("52381st".match(/[0-9]+/)[0]) // -> 52381
只需执行"3rd".match(/[0-9]+/)
,就会返回一个带有一些有用数据的对象,但是仅访问属性[0]
将为您提供所需的输出(如果您不想像其他答案中提到的那样执行parseInt
哈哈)。