为什么parseInt(['1','2','3'])返回1?

时间:2011-06-15 07:40:44

标签: javascript

parseInt([1,2,3])
1
parseInt([[1,2,3]])
1
parseInt([[['101',2,3]]], 2)
5

使用Chrome12,Firefox3.6,IE6,IE8测试。

4 个答案:

答案 0 :(得分:5)

parseInt将在你的乱七八糟的数组中合理地获取它 - 在这种情况下,它是'101'

然后,

>>> parseInt(101, 2)
5

因为101 2 = 5 10

答案 1 :(得分:5)

因为,[1,2,3].toString()将返回1,2,3,因此您在前两行获得1的原因。 parseInt()会在点击NaN之后停止查找数字值,在这种情况下是逗号,。这就是它停止解析并返回到目前为止发现的任何数字的地方。

答案 2 :(得分:4)

这是因为parseInt期望一个字符串作为第一个参数,如果没有给出,则将其转换为字符串

parseInt([1,2,3])相当于parseInt([1,2,3].toString()),即parseInt("1,2,3")

与其他案件类似

答案 3 :(得分:0)

它接受数组中的第一个值,然后使用基数值将值转换为int

parseInt([50,2,3])
会回复你50

parseInt([[['101',2,3]]], 2)

返回5,因为第一个元素101 base 2是int 5 base 10

相关问题