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 ]
相关文章
|
JavaScript 前端开发 安全
为什么 JavaScript 的 parseInt(0.0000005) 打印“5”?
为什么 JavaScript 的 parseInt(0.0000005) 打印“5”?
289 121
为什么 JavaScript 的 parseInt(0.0000005) 打印“5”?
|
存储 JavaScript 前端开发
js中map属性
js中map属性
185 1
|
JavaScript 前端开发
常见的JS面试题
【8月更文挑战第5天】 常见的JS面试题
232 3
|
自然语言处理 JavaScript 前端开发
当面试官再问我JS闭包时,我能答出来的都在这里了。
闭包(Closure)是前端面试中的高频考点,广泛应用于函数式编程中。它不仅指函数内部定义的函数,还涉及内存管理、作用域链和垃圾回收机制。闭包可以让函数访问其外部作用域的变量,但也可能引发内存泄漏等问题。通过合理使用闭包,可以实现模块化、高阶函数和回调函数等应用场景。然而,滥用闭包可能导致代码复杂度增加、调试困难以及潜在的性能问题。为了避免这些问题,开发时应谨慎处理闭包,避免不必要的嵌套,并及时清理不再使用的变量和监听器。
504 16
当面试官再问我JS闭包时,我能答出来的都在这里了。
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
502 156
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
394 20
|
JavaScript 前端开发
js map和reduce
js map和reduce
|
存储 JavaScript 前端开发
js的map和set |21
js的map和set |21
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
441 0
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。