我尝试了以下代码,但无效会触发错误:
val.reverse is not a function
我该如何解决?
演示: http://jsfiddle.net/9ysZa/
//I want this output: 1,455,000
function num(val){
var result = val.reverse().join("")
.match(/[0-9]{1,3}/g).join(",")
.match(/./g).reverse().join("");
return result
}
alert(num('1455000'))
答案 0 :(得分:3)
reverse
是Array.prototype
上的一种方法 - 它适用于数组。由于val
是一个字符串,因此您需要调用val.split('')
将其转换为数组。
function num(val){
var result = val.split('').reverse().join("")
.match(/[0-9]{1,3}/g).join(",")
.match(/./g).reverse().join("");
return result
}
alert(num('1455000'));
警告您正在寻找的结果。
修改强>
根据您的评论,您似乎希望在数字 1455000而不是字符串'1455000'上运行此功能。如果是这样,在toString
之前添加split()
调用将起作用(并且将对字符串**和数字起作用)。