如何从数组转换货币字符串
How to convert currency Strings from Array
我有一个数组,其中包含数组列表,值以"美元"为单位。我需要从该列表中获取最高价格和最低价格。
这就是已经尝试过的,
var _array = [$1.09,$3.07,$2.223];
var number = Number(_array.replace(/[^0-9'.]+/g,""));
a= Math.max.apply(Math,number); // $3
b= Math.min.apply(Math,number); // $1
但它不起作用,任何人都可以帮我。
演示链接
问题是你的数组中有非法字符。通过包裹''
让它们像绳子一样.
像风箱一样做
var _array = ['$1.09','$3.07','$2.223'];
var numbers = _array.map(function(curr){
return Number(curr.replace(/[^0-9'.]+/g,""))
})
a= Math.max.apply(Math,numbers); // 3
b= Math.min.apply(Math,numbers); // 1
console.log(a,b)
演示
注意:- .map
函数在IE8上不起作用,因此您可以在那里使用for
循环。像波纹管
var _array = ['$1.09','$3.07','$2.223'];
var numbers = [];
for(var i=0;i<_array.length;i++){
numbers.push(_array[i].replace(/[^0-9'.]+/g,""));
}
a= Math.max.apply(Math,numbers); // 3
b= Math.min.apply(Math,numbers); // 1
console.log(a,b)
演示
如果您更正列表数组中的错误,这可能很简单 排序是你的朋友
var _array = ["$1.09", "$3.07", "$2.223"];
_array.sort(function(a, b) {
return Number(a.replace(/[^0-9'.]+/g, "")) - Number(b.replace(/[^0-9'.]+/g, ""));
});
console.log(_array[0], " ", _array[_array.length - 1]);
打开浏览器检查器并运行上述代码。
感谢@Meze的贡献,使 10.01 比 2 或类似的东西高
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- 货币代码为欧元-金额的格式不应包含小数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 将字符串数字的格式设置为货币
- 我想将输入的字符串分隔为印度货币格式,就像我输入123456表示一样,那么我想得到 1,23,456
- 如何在JS中将一个大字符串(而不是数字)格式化为货币
- 如何从数组转换货币字符串
- 转换字符串货币
- Javascript货币字符串排序
- 如何在不事先知道字符串中所有数字的具体位置的情况下,将货币或十进制格式应用于字符串中的所有数字