JavaScript--->;如何将字符串数组转换为数字数组?
我的代码JavaScript--->;如何将字符串数组转换为数字数组?,javascript,Javascript,我的代码 var bills = [50.23, 19.12, 34.01, 100.11, 12.15, 9.90, 29.11, 12.99,10.00, 99.22, 102.20, 100.10, 6.77, 2.22 ]; var totals = bills.map(function(tip){ tip += 15/100; tip = tip.toFixed(2); return tip; }); co
var bills = [50.23, 19.12, 34.01, 100.11, 12.15, 9.90,
29.11, 12.99,10.00, 99.22, 102.20, 100.10, 6.77, 2.22 ];
var totals = bills.map(function(tip){
tip += 15/100;
tip = tip.toFixed(2);
return tip;
});
console.log(totals);
返回
[ '50.38', '19.27', '34.16', '100.26', '12.30', '10.05',
'29.26', '13.14', '10.15', '99.37', '102.35', '100.25', '6.92', '2.37' ]
现在,如何将这个字符串数组转换成这样的数字数组
[ 50.38, 19.27, 34.16, 100.26, 12.30, 10.05,
29.26, 13.14, 10.15, 99.37, 102.35, 100.25, 6.92, 2.37 ]
强制将返回值转换为编号,替换
return tip;
使用一元加+
return +tip;
或编号
构造函数
return Number(tip);
您可以将代码缩短为
var totals = bills.map( tip => +( tip + 15/100 ).toFixed( 2 ) );
您可以在数组中循环并使用parseFloat()函数
toFixed将一个数字转换为字符串。提示15%是否可能重复?还是一个固定值,比如0.15?这是一个X->Y问题。您当前通过.toFixed将数字数组转换为字符串。您可以等到即将显示这些数字后再使用.toFixed,而不是在一系列计算的中途使用,因为在以后的操作中,您可能仍然需要这些值作为数字。删除
.toFixed(2)
。就像魔法一样,它们又会变成数字。