在Javascript中,添加数组时如何避免NaN
我正在尝试在 javascript 中添加两个数组的值,例如。 [1,2,1] + [3,2,3,4]
答案应该是 4,4,4,4 但如果我改变,我要么得到 4,4,4 要么得到 4,4,4,NaN第一个数组长度为 4。
我知道第 4 个数字需要位于第一个数组中,但我不知道如何告诉 javascript 将其设为 0,而不是在没有数字时未定义。
I'm trying to add the values of two arrays in javascript eg. [1,2,1] + [3,2,3,4]
The answer should be 4,4,4,4 but I'm either getting 4,4,4 or 4,4,4,NaN if I change the 1st array length to 4.
I know a 4th number needs to be in the 1st array, but i can't figure out how to tell javascript to make it 0 rather then undefined if there is no number.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
isNaN
确保该值在算术运算中不会计算为NaN
。这将安全地添加两个数字,如果其中一个不是数字,它将被 0 替换。
如果您怀疑 a 或 b 可能是字符串而不是数字 (
"2"
而不是2
),您必须在添加之前将其转换为数字。您可以使用一元+
来完成此操作。Use
isNaN
to ensure the value does not evaluate toNaN
in arithmetic operations.This will safely add two numbers such that if one of them is not a number, it will be substituted with 0.
If you suspect that either a or b could be a string instead of number (
"2"
instead of2
), you have to convert it into number before adding it. You can use a Unary+
to do it.在上面的示例中,JavaScript 无论如何都会将数组转换为字符串,因此结果是:
In the above example, JavaScript converts the arrays to strings anyway so the result is: