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
    ,因为这不需要解析。另外,为什么标记垃圾邮件。。。这既不是异步的,也与承诺无关