• js parseInt和map函数


    今天看了一个js的题目["1","2","3"].map(parseInt),看到后脑海中浮现的答案是[1,2,3],但是看到正确答案后蒙了,不知道为什么答案会是[1,NaN,NaN],看了解释(http://developer.51cto.com/art/201504/474298_2.htm)但是还是没明白,没办法,只好重新无看下parseInt和map函数了。

    1、parsrInt()

    以前一直只有用到parseInt(x),返回一个整数,但是今天重新学习后才知道原来parseInt还有一个可选参数

    parseInt(string, radix)
    参数描述
    string 必需。要被解析的字符串。
    radix

    可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

    如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

    如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

     

     

     

     

     

    radix表示string的基数,当radix存在时,string以radix基数解析,当radix为0或者无时,根据string来解析,"0x" 开头,以16进制解析,“0”开头,以十进制或8进制解析,1-9开头,以十进制解析

    2、map()

    map是对数组的每一个元素调用回调函数并返回一个包含结果的数组,有三个参数,其中一个可选参数

    array1.map(callbackfn[, thisArg])
    
    参数定义
    array1 必需。一个数组对象。
    callbackfn 必需。一个接受**最多**三个参数的函数。对于数组中的每个元素,‘map‘ 方法都会调用 ‘callbackfn‘ 函数一次。
    thisArg 可选。可在 ‘callbackfn‘ 函数中为其引用 ‘this‘ 关键字的对象。如果省略 ‘thisArg‘,则 ‘undefined‘ 将用作 ‘this‘ 值。

     

     

     

     

     

    map中回调函数的语法:function callbackfn(value, index, array1),可使用最多三个参数来声明回调函数。

    第一参数value,数组元素的值;第二个参数index,数组元素的数组所以;array1,包含该元素的数组对象。

    因此,["1","2","3"].map(parseInt)等于[parseInt(1,0),parseInt(2,1),parseInt(3,2)]

    parseInt(1,0)//radix为0,1十进制为1

    parseInt(2,1)//radix小于2,返回NaN

    parseInt(3,2)//radix为2,3的二进制NaN

  • 相关阅读:
    C# 事务之SqlTransaction
    java获取字符串格式日期向前或向后n天的日期
    java中保留几位小数
    第一个androidAPP项目总结—ListView的上拉和下拉
    java中static作用详解
    第一个androidAPP项目总结—数据请求
    获取控件的高和宽
    Android学习笔记:如何设置ImageView中图片的显示方式
    TextView过长显示省略号, TextView文字中间加横线
    android中控件的使用
  • 原文地址:https://www.cnblogs.com/liuyfl/p/4476179.html
Copyright © 2020-2023  润新知