Javascript 如何将二维数组中的项目转换为数字
当我试图在数组中获取价格时,遇到了一个问题 这就是我正在处理的阵列Javascript 如何将二维数组中的项目转换为数字,javascript,node.js,Javascript,Node.js,当我试图在数组中获取价格时,遇到了一个问题 这就是我正在处理的阵列 [ [ 'bento box b - sashimi', 'box combo', '$9.59' ], [ 'bento box a - chicken teriyaki', 'box combo', '$8.59' ] ] 我知道“9.59美元”是字符串,我试着 for (item of lunch) { let newPrice = parseInt(item[2] *1.8) conso
[ [ 'bento box b - sashimi', 'box combo', '$9.59' ],
[ 'bento box a - chicken teriyaki', 'box combo', '$8.59' ] ]
我知道“9.59美元”是字符串,我试着
for (item of lunch) {
let newPrice = parseInt(item[2] *1.8)
console.log(newPrice)
}
for (item of lunch) {
let newPrice = parseInt(item[2] *1.8)
console.log(newPrice)
}
当我运行此命令时,它将返回NaN
我知道“9.59美元”是字符串,我试着
for (item of lunch) {
let newPrice = parseInt(item[2] *1.8)
console.log(newPrice)
}
for (item of lunch) {
let newPrice = parseInt(item[2] *1.8)
console.log(newPrice)
}
当我运行此命令时,它将返回NaN
我需要将每个数组中的价格乘以1.8,但它总是给我NaN,我如何修复它?这里有三个问题(除了格式错误):
parseInt()调用的内部执行乘法。这意味着解释器将首先执行项[2]*1.8
(其结果为NaN,因为字符串无法转换为数字),然后将NaN结果传递给parseInt()
,这再次给出NaN
parseInt()
字符串包含美元符号$,因此解析仍将失败。在使用诸如String.slice()或String.replace()之类的函数进行解析之前,需要去掉美元符号parseFloat()
考虑格式化问题,这样代码就在代码块中,而不是代码不在代码块中,并且不要在末尾重复自己,这很烦人,它不断告诉我需要添加一些细节,因为您编写了所有代码——不要缩进文本,除非是代码<代码> PARSETIN(‘9.59美元’)< /代码> -结果在<代码>楠< /代码>…因为
$
。。。不管怎样,parseInt
都会删除.59
。。。您需要parseFloat(项[2]。切片(1))*1.8
-注意()
的位置不包括*1.8
,因为这不需要解析。另外,为什么标记垃圾邮件。。。这既不是异步的,也与承诺无关