Node.js面试题:map(parseInt)-阿里云开发者社区

开发者社区> 开发者小助手-bz> 正文

Node.js面试题:map(parseInt)

简介: Node.js面试题:map(parseInt)
+关注继续查看

问题

写出输出结果

console.log([1, 2, 3, 4].map(parseInt))

输出结果:

1,NaN, NaN, NaN

考察知识

1、map

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
 // 新数组的返回元素
}[, thisArg])

参数:

callback:数组迭代的每一项执行的回调函数,可以有三个参数:
    currentValue:当前迭代项
    index:当前迭代项的索引 (可选)
    array: map 方法调用的数组(可选)

thisObject:在执行回调函数时定义的 this 对象(没有传递或者为 null,将会使用全局对象)。

2、parseInt

parseInt(string, radix);
解析一个字符串并返回指定基数的十进制整数, 或者NaN

返回NaN的情况:
1. radix 小于 2 或大于 36
2. 第一个非空格字符不能转换为数字。

以上代码相当于执行了


let res = [1, 2, 3, 4].map((item, index, array)=>{
    return parseInt(item, index);
})
console.log(res);
// [ 1, NaN, NaN, NaN ]

正确的用法


let res = [1, 2, 3, 4].map((item)=>{
    return parseInt(item);
})
console.log(res);
// [ 1, 2, 3, 4 ]

举一反三

var arr = [10, 18, 0, 10, 42, 23]
arr = arr.map(parseInt)
console.log(arr) 
// [ 10, NaN, 0, 3, NaN, 13 ]

[参考]

透过网红面试题,超级详细的解析parseInt,学不懂找我

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
8 0
学习vue3之路day1
学习vue3之路day1
18 0
学习vue3之路day2
学习vue3之路day2
6 0
xshell+阿里云linux+vue+mysql开发练习
这篇文章记录了我在阿里云进行Linux基础学习的过程,以及根据阿里云进行一些简单的开发实践。
9 0
jquery获取多个相同name的input的value值
jquery获取多个相同name的input的value值
10 0
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
6 0
Nginx-基本概念和使用
Nginx-基本概念和使用
11 0
飞天加速计划·高校学生在家实践
我用阿里云服务器的一些心得
18 0
学习vue3之路day3
学习vue3之路day3
6 0
1569
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载