map、parseInt

在牛客刷题的时候,遇到YY前端的一道题,有点意思,写下来分享

[“1", "2", "3"].map(parseInt)的执行结果是?

A ["1","2","3"]

B [1,2,3]

C [0,1,2]

D 其他 

正确答案是D,图下是浏览器运行的答案

要得出正确答案,先看看map函数和parseInt函数的用法以及特性

map指的是映射,[].map(),基本用法跟forEach方法类似

array.map(callback,[ thisObject]);

callback的参数也类似:

[].map(function(value, index, array) {// ...

});

parseInt函数有两个参数,分别是字符串和多少进制

那么对应题目,就是[“1", "2", "3"].map(parseInt(value,index){});

这里的value就是1,2,3,

而index是0,1,2,

那么就是value对应解析的字符串,index对应进制,0的话就代表是十进制解析,如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

则第一个输出是1,而第二个是因为index小于2,返回Nan,第三个是因为value是3,不符合二进制,也返回的是NaN。


顺带一提,forEach()方法跟map()方法类似,只是前者代表遍历,用法也是一样的

[].forEach(function(value,index,array));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容