我有一个数组,其中包含一个数组列表,值为'美元'.我需要从该列表中获取最高价格和最低价格.
这是尝试过的,
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
Run Code Online (Sandbox Code Playgroud)
但它不起作用,任何人都可以帮助我.
问题是你的阵列中有非法字符.通过包装让他们喜欢字符串''.
它像波纹管一样
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)
Run Code Online (Sandbox Code Playgroud)
注意: -该.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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |