2011-08-19 106 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哪裏是所得陣列。