H5W3
当前位置:H5W3 > 其他技术问题 > 正文

js数字累加变拼接怎么搞

用number转了还是拼接,请问一下解决办法

   PRTable.forEach(item=>{
iDeposit  += Number(item.InitialDeposit)
})

回答

iDeposit 别定义成字符串

var total = ['1', '2', '3'].reduce(function (sum, current) {
  return Number(sum) + Number(current);
}, 0);
let iDeposit = 0;
PRTable.forEach(item => {
    if(!isNaN(Number(item.InitialDeposit))) {
        iDeposit += Number(item.InitialDeposit);
    }
})

估计你的

iDeposit  

是字符串

隐式类型转换的目标类型是算符前的变量类型,而这里算符前是 iDeposit,所以如果 iDeposit 是字符串的话,后面加个 Number 并不会改变最终的类型。
把累加结果放到 + 算符前面应该可以解决问题:

iDeposit  = PRTable.reduce((pre, cur) => pre + cur, 0) + iDeposit;

iDeposit类型也需要是数字类型

本文地址:H5W3 » js数字累加变拼接怎么搞

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址