首页 > 解决方案 > Javascript 数组连接无法正常工作

问题描述

我有以下数组,我想将它加入一个数字

    const arr = [6,1,4,5,3,9,0,1,9,5,1,8,6,7,0,5,5,4,3]
    const digits = arr.join("") //6145390195186705543
    const digitsToNumber = +arr.join("") //6145390195186705000
    console.log(digits);
    console.log(digitsToNumber);

可以看到 join 函数有效。但是,当我尝试将其转换为数字时,它会显示一个奇怪的值。你们知道为什么会这样吗?

标签: javascript

解决方案


要将连接的字符串转换为数字,您可以使用 parseInt("123") 方法。

const number= parseInt(digitsToNumber)

但是,由于您的数字太大或可能更大,Javascript 无法处理包含超过 16 位数字的数字。如果你也有这样的问题,你可以使用一些外部大数字库,比如BigNumber.Js

编辑:根据 Teemu 的评论,您还可以使用链接原生大整数处理库。


推荐阅读