【发布时间】:2013-06-26 13:37:52
【问题描述】:
我有一个字符串数组,需要将其转换为带小数的数字数组。字符串数组如下所示:
var array = [" 169.70", " 161.84", " 162.16", " 176.06", " 169.72", " 170.77", " 172.74", " 175.73", " 0.00", " 0.00", " 0.00", " 0.00"]
我创建了一个简短的函数来解析每个数组元素,如下所示:
function parseFloatArray(array) {
var parsedArray = [];
for (var i = 0; i < array.length ; i++) {
parsedArray[i] = parseFloat(array[i]);
parsedArray.push(parsedArray[i]);
console.log(parsedArray[i]);
};
return parsedArray;
}
记录 array.length 给我一个值 12。for 循环中的日志也返回 12 个单独的值。但是,console.log(parsedArray) 给了我以下长度为 13 的数组(注意尾随零):
[169.7, 161.84, 162.16, 176.06, 169.72, 170.77, 172.74, 175.73, 0, 0, 0, 0, 0]
我有什么想法可以改进这个功能,以及为什么它会附加一个零,尽管所有日志都显示了 12 个值?
【问题讨论】:
-
试试
array.map(parseFloat);) -
你分配和推?仅供参考,
array.map(parseFloat)更干净。编辑: ...就像 thg435 说的。 :D -
哦,新手为自己创造了额外的工作。感谢 array.map(parseFloat) 提示。效果很好。
标签: javascript arrays for-loop parsefloat