JS中parseInt()和map()用法分析
本文實(shí)例講述了JS中parseInt()和map()用法。分享給大家供大家參考,具體如下:
parseInt()的幾個例子
var b = parseInt("01");
alert("b="+b);
var c = parseInt("09/08/2009");
alert("c="+c);
結(jié)果:b=1,c=0
parseInt()用來解析字符串,返回整數(shù),有幾個特點(diǎn):
1.無視被解析字符串最前和最后的空格,即:" 111 "和"111"是一樣的
2.正規(guī)格式是parseInt(string,radix)。
第一個參數(shù)是被解析的字符串,第二個參數(shù)是進(jìn)制(可不些)
第二個參數(shù)的特點(diǎn):
①如果radix省略或?yàn)?,則按默認(rèn)進(jìn)制(十進(jìn)制)進(jìn)行解析
②radix為2~36之間的整數(shù),如果在這個范圍之外,返回NaN
③string的首字符為0,則默認(rèn)解析為8進(jìn)制。string首字符為0x(0X)則默認(rèn)解析為16進(jìn)制。其他情況默認(rèn)為10進(jìn)制。
④最好加上第二個參數(shù),不然即使碰到首字符為0,應(yīng)該以8進(jìn)制方式進(jìn)行,在某些瀏覽器下,如ff也會按10進(jìn)制進(jìn)行
3.解析從第一個可以解析的字符開始,到第一個不能解析的字符(如空格,標(biāo)點(diǎn)符號等)結(jié)束。后面的字符不再解析。如果第一個字符就不可以解析,則返回NaN。
回到此題來分析
b的首字母是0,按8進(jìn)制解析后面的數(shù)值,也就是8進(jìn)制的1。自然返回值為1。<br>c的首字母是0,按8進(jìn)制解析后面的數(shù)值,但是第二個字符9已經(jīng)不是8進(jìn)制數(shù),也就是9是第一個不能解析的字符,parseInt("09/08/2009")相當(dāng)于parseInt("0"),自然返回值是0<br>注:8也不是8進(jìn)制數(shù),最大到7
變形:
var c = parseInt("0119/08/2009");
alert("c="+c);
分析:
相當(dāng)于parseInt("011"),0*8^2+1*8^1+1*8^0=0+8+1=9,輸出結(jié)果為c=9
parseFloat()和parseInt()
parseInt()可以帶參數(shù),指定二進(jìn)制、八進(jìn)制或者十六進(jìn)制(默認(rèn)十進(jìn)制),而parseFloat()不帶參數(shù),不能解析八進(jìn)制、十六進(jìn)制數(shù),就只能按十進(jìn)制進(jìn)行。
再來看parseInt()和.map()結(jié)合的例子
["1", "2", "3"].map(parseInt) 返回值又是多少呢
map方法
array1.map(callbackfn[, thisArg])
對數(shù)組的每個元素,調(diào)用定義的回調(diào)函數(shù),返回一個數(shù)組包含結(jié)果
參數(shù):
| array1 | 必須。一個數(shù)組對象 |
| callbackfn | 必須。最多接受三個參數(shù)(數(shù)組元素的值,數(shù)組元素的索引,包含該元素的數(shù)組對象)的回調(diào)函數(shù) |
| thisArg | 可選。 |
即原例子相當(dāng)于
[parseInt("1",0),parseInt("2",1),parseInt("3",2)]
分析:
1按十進(jìn)制轉(zhuǎn)換輸出1
1不在2~36之間,輸出NaN
字符串”3“里面沒有合法的二進(jìn)制數(shù),輸出NaN
所以最后結(jié)果是[1,NaN,NaN]
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
多種方式實(shí)現(xiàn)JS調(diào)用后臺方法進(jìn)行數(shù)據(jù)交互
幾種典型常用的方法如利用控件的AutopostBack屬性、Button提交表單等等,下面為大家分享下JS調(diào)用后臺方法進(jìn)行數(shù)據(jù)交互示例2013-08-08
JS 中使用Promise 實(shí)現(xiàn)紅綠燈實(shí)例代碼(demo)
本文通過實(shí)例代碼給大家介紹了JS 中使用Promise 實(shí)現(xiàn)紅綠燈效果,在文中給大家介紹了一個promise用法例子,需要的朋友可以參考下2017-10-10
js 創(chuàng)建對象 經(jīng)典模式全面了解
下面小編就為大家?guī)硪黄猨s 創(chuàng)建對象 經(jīng)典模式全面了解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
JavaScript中正則表達(dá)式判斷匹配規(guī)則及常用方法
JS作為一門常用于web開發(fā)的語言,必然要具備正則這種強(qiáng)大的特性,本文將對JS中的正則用法及常用函數(shù)進(jìn)行一番總結(jié)2017-08-08

