["1", "2", "3"].map(parseInt) 结果

Posted web前端开发技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了["1", "2", "3"].map(parseInt) 结果相关的知识,希望对你有一定的参考价值。

// 下面的语句返回什么呢:
["1", "2", "3"].map(parseInt);
// 你可能觉的会是[1, 2, 3]
// 但实际的结果是 [1, NaN, NaN]

// 通常使用parseInt时,只需要传递一个参数.
// 但实际上,parseInt可以有两个参数.第二个参数是进制数.
// 可以通过语句"alert(parseInt.length)===2"来验证.
// map方法在调用callback函数时,会给它传递三个参数:当前正在遍历的元素, 
// 元素索引, 原数组本身.
// 第三个参数parseInt会忽视, 但第二个参数不会,也就是说,
// parseInt把传过来的索引值当成进制数来使用.从而返回了NaN.

function returnInt(element) {
  return parseInt(element, 10);
}

[‘1‘, ‘2‘, ‘3‘].map(returnInt); // [1, 2, 3]
// 意料之中的结果

// 也可以使用简单的箭头函数,结果同上
[‘1‘, ‘2‘, ‘3‘].map( str => parseInt(str) );

// 一个更简单的方式:
[‘1‘, ‘2‘, ‘3‘].map(Number); // [1, 2, 3]
// 与`parseInt` 不同,下面的结果会返回浮点数或指数:
[‘1.1‘, ‘2.2e2‘, ‘3e300‘].map(Number); // [1.1, 220, 3e+300]

 

以上是关于["1", "2", "3"].map(parseInt) 结果的主要内容,如果未能解决你的问题,请参考以下文章

R语言边学边记8-缺失值处理与转换函数

有以下程序: main( ) int a[10]=1,2,3,4,5,6,7,8,9,10,*p=&a[3],*q=p-2; printf("%d\n",*p+*q);

"{"A":"5","B":"4","C":"3","D&q

VBA 如何将数字转换为中文大写

The specified value "2019-1-2" does not conform to the required format, "yyyy-MM-dd&q

java 中 File("e:\\Q.XML") 和 FileReader("e:\\q.xml") 有啥区别?