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 ]
相关文章
|
2月前
|
JavaScript 前端开发 安全
为什么 JavaScript 的 parseInt(0.0000005) 打印“5”?
为什么 JavaScript 的 parseInt(0.0000005) 打印“5”?
25 1
为什么 JavaScript 的 parseInt(0.0000005) 打印“5”?
|
14天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
2月前
|
存储 JavaScript 前端开发
js的map和set |21
js的map和set |21
|
2月前
|
JavaScript 前端开发
js map和reduce
js map和reduce
|
18天前
|
存储 JavaScript 前端开发
js中map属性
js中map属性
16 0
|
20天前
|
前端开发 JavaScript 索引
JavaScript 数组常用高阶函数总结,包括插入,删除,更新,反转,排序等,如map、splice等
JavaScript数组的常用高阶函数,包括遍历、插入、删除、更新、反转和排序等操作,如map、splice、push、pop、reverse等。
16 0
|
2月前
|
JavaScript 前端开发
JavaScript Array map() 方法
JavaScript Array map() 方法
|
2月前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。
|
3月前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
3月前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。