我尝试了几种将字符串转换为数字的方法(Number,parseFloat,* 1),但每次都无法获得所需的值:
var str = ["0.20", "day"];
var num;
str.forEach(v => {
num = parseFloat(v);
console.log(num);
})
如何在结果中得到0.2和数字“ day”作为字符串[0.2,“ day”]?
答案 0 :(得分:1)
检查解析的值是否不是数字(NaN)。如果是这样,请按原样打印字符串,否则将其转换。
l = parseFloat(v)
在这里,我尝试将值转换为float并将结果分配给变量l
isNaN()
是一种内置方法,用于检查某个结果是否不是数字,是我用来检查变量l
是否是数字的方法。
?
是三元运算符
v
不是数字(如果是NaN),则会打印出
否则,将打印l
(已分析的值)
var str = ["0.20", "day"];
console.log(
str.map(v => isNaN(l = parseFloat(v))? v : l)
)
/* A shorter way is to do */
console.log(
str.map(v=>+v||v)
)