gpt4 book ai didi

javascript - 难以理解涉及数字加法的函数

转载 作者:行者123 更新时间:2023-11-30 08:02:01 27 4
gpt4 key购买 nike

function NumberAddition(str) { 
var nstr = str.match(/[0-9]+/g);
var total = 0;
if (nstr !== null)
for (var i = 0; i < nstr.length; i++) {
total += nstr[i]*1;
}
// code goes here
return total;
}

我在 coderbyte.com 上查看答案,这是其中之一。我的问题是关于 total += nstr[i]*1 部分。如果我删除 *1 答案将连接到“2344”。然而答案应该是23+4+4=31。这是为什么?

最佳答案

*1 强制将 nstr[i] 中的字符串转换为数字。另一种方法是

  total += +nstr[i];

*(乘法)运算符只对数字有意义,语言定义规定当它的参数不是数字时,应该进行转换。当然,如果 nstr[i] 不是真正的数字(在您的情况下不太可能,如果不是不可能的话),那么结果将是一个 NaN 值。同样,一元运算符 + 也强制将其操作数转换为数字。

关于javascript - 难以理解涉及数字加法的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25613684/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com