2011-08-19 79 views
1

数组这是我的JavaScript数组修改字符串在JavaScript

["200.00 K","200.50 K","300.00 K" ,"300.50 K","400.00 K","400.50 K"] 

解析这个数组我需要得到这样的

["200 K","200.5 K","300 K" ,"300.5 K","400 K","400.5 K"] 

后,我使用的原型
请帮帮我?

回答

0
var a = ["200.00 K","200.50 K","300.00 K","300.50 K","400.00 K","400.50 K"]; 
for (var i = 0; i < a.length; i++) { 
    a[i] = a[i].replace(/(?:(\.\d*[1-9])|\.)0+ /, "$1 "); 
} 

之后,a

200 K,200.5 K,300 K,300.5 K,400 K,400.5 K 
-1

像这样的事情

for(i=0;i<arrayName.length();i++){ 
    arrayName[i]=parseFloat(arrayName[i])+ " K"; 
} 
+1

这不是他们所需要的。这不会产生像“200.5 K”这样的请求结果。 – jfriend00

4
myArray = myArray.map(function (item) { 
    var n = parseFloat(item); 
    return n + " K"; 
}); 

对于旧的浏览器, read this 其实我觉得原型自动为您完成此。

+0

在某些浏览器(如IE7/IE8)的旧版本中不起作用,因为它们不支持array.map()。 – jfriend00

+0

呼叫良好。我已添加兼容性链接。 – gilly3

1

在所有浏览器的工作原理是在其他的答案的变种,

var a = ["200.00 K","200.50 K","300.00 K" ,"300.50 K","400.00 K","400.50 K"]; 
var b = []; 
for (var i = 0; i < a.length; i++) 
    b.push(parseFloat(a[i]) + " K"); 

b哪里是所得阵列。