js中的map(parseInt)问题 |
您所在的位置:网站首页 › 在js中parseint › js中的map(parseInt)问题 |
廖雪峰老师的js中有这样一个例子:小明希望利用map()把字符串变成整数,他写的代码很简洁: 'use strict'; var arr = ['1', '2', '3']; var r; r = arr.map(parseInt); console.log(r);结果竟然是1, NaN, NaN,小明百思不得其解,请帮他找到原因并修正代码。 按照常理来说,map将函数对象作为其参数,迭代遍历数组的每个元素,并为每个元素调用一次函数,将元素值作为参数传递。这些函数调用的结果累积到一个新数组中。parseInt是内置函数,它尝试将字符串解析为数字并返回,如果无法解析为数字则返回NaN。所以上述例子应该显示1,2,3。那么问题出在哪? 根据map文档可知,map()语法: var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg])callback:产生新数组元素的函数,带有三个参数:currentValue、index和array 所以,所以例子中的parseInt函数应该是:parseInt(“1”,0,arr)、pa |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |