let arr = [12.5, 100, 0013, '27px', 456]; arr = arr.map(parseInt);结果是什么
时间: 2024-04-26 14:21:05 浏览: 45
从键盘中输入一个数后返回结果
4星 · 用户满意度95%
执行 `arr.map(parseInt)` 的结果是 `[12, NaN, 11, NaN, NaN]`。这是因为 `map` 方法会依次将数组中的每个元素作为 `parseInt` 函数的第一个参数传入,而 `parseInt` 函数的第二个参数代表转换的进制,如果没有指定进制则默认为 `10`。
所以,对于 `arr` 数组中的每个元素,`map` 方法都会将其传入 `parseInt` 函数中,但是由于传入的第二个参数在大部分情况下不正确,因此会导致转换结果不符合预期。具体来说:
- 对于 `12.5`,使用十进制转换,结果为 `12`;
- 对于 `100`,使用二进制转换,但二进制中的数字只有 `0` 和 `1`,因此无法转换,结果为 `NaN`;
- 对于 `0013`,使用十进制转换,结果为 `11`;
- 对于 `'27px'`,由于字符串中包含非数字字符,因此无法转换,结果为 `NaN`;
- 对于 `456`,使用八进制转换,但八进制中的数字只有 `0` 到 `7`,因此无法转换,结果为 `NaN`。
因此,最终的结果是 `[12, NaN, 11, NaN, NaN]`。
阅读全文