JS中parseInt()和map()用法分析
本文實(shí)例講述了JS中parseInt()和map()用法。分享給大家供大家參考,具體如下:
parseInt()的幾個(gè)例子
var b = parseInt("01"); alert("b="+b); var c = parseInt("09/08/2009"); alert("c="+c);
結(jié)果:b=1,c=0
parseInt()用來(lái)解析字符串,返回整數(shù),有幾個(gè)特點(diǎn):
1.無(wú)視被解析字符串最前和最后的空格,即:" 111 "和"111"是一樣的
2.正規(guī)格式是parseInt(string,radix)。
第一個(gè)參數(shù)是被解析的字符串,第二個(gè)參數(shù)是進(jìn)制(可不些)
第二個(gè)參數(shù)的特點(diǎn):
①如果radix省略或?yàn)?,則按默認(rèn)進(jìn)制(十進(jìn)制)進(jìn)行解析
②radix為2~36之間的整數(shù),如果在這個(gè)范圍之外,返回NaN
③string的首字符為0,則默認(rèn)解析為8進(jìn)制。string首字符為0x(0X)則默認(rèn)解析為16進(jìn)制。其他情況默認(rèn)為10進(jìn)制。
④最好加上第二個(gè)參數(shù),不然即使碰到首字符為0,應(yīng)該以8進(jìn)制方式進(jìn)行,在某些瀏覽器下,如ff也會(huì)按10進(jìn)制進(jìn)行
3.解析從第一個(gè)可以解析的字符開(kāi)始,到第一個(gè)不能解析的字符(如空格,標(biāo)點(diǎn)符號(hào)等)結(jié)束。后面的字符不再解析。如果第一個(gè)字符就不可以解析,則返回NaN。
回到此題來(lái)分析
b的首字母是0,按8進(jìn)制解析后面的數(shù)值,也就是8進(jìn)制的1。自然返回值為1。<br>c的首字母是0,按8進(jìn)制解析后面的數(shù)值,但是第二個(gè)字符9已經(jīng)不是8進(jìn)制數(shù),也就是9是第一個(gè)不能解析的字符,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)行。
再來(lái)看parseInt()和.map()結(jié)合的例子
["1", "2", "3"].map(parseInt) 返回值又是多少呢
map方法
array1.map(callbackfn[, thisArg])
對(duì)數(shù)組的每個(gè)元素,調(diào)用定義的回調(diào)函數(shù),返回一個(gè)數(shù)組包含結(jié)果
參數(shù):
array1 | 必須。一個(gè)數(shù)組對(duì)象 |
callbackfn | 必須。最多接受三個(gè)參數(shù)(數(shù)組元素的值,數(shù)組元素的索引,包含該元素的數(shù)組對(duì)象)的回調(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“里面沒(méi)有合法的二進(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錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
多種方式實(shí)現(xiàn)JS調(diào)用后臺(tái)方法進(jìn)行數(shù)據(jù)交互
幾種典型常用的方法如利用控件的AutopostBack屬性、Button提交表單等等,下面為大家分享下JS調(diào)用后臺(tái)方法進(jìn)行數(shù)據(jù)交互示例2013-08-08js實(shí)現(xiàn)簡(jiǎn)單的驗(yàn)證碼
這篇文章主要介紹了js實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼的方法,驗(yàn)證碼主要是為了網(wǎng)站的安全性,防止惡意注冊(cè)和登陸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12JS 中使用Promise 實(shí)現(xiàn)紅綠燈實(shí)例代碼(demo)
本文通過(guò)實(shí)例代碼給大家介紹了JS 中使用Promise 實(shí)現(xiàn)紅綠燈效果,在文中給大家介紹了一個(gè)promise用法例子,需要的朋友可以參考下2017-10-10js 創(chuàng)建對(duì)象 經(jīng)典模式全面了解
下面小編就為大家?guī)?lái)一篇js 創(chuàng)建對(duì)象 經(jīng)典模式全面了解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08詳解小程序原生使用ES7 async/await語(yǔ)法
這篇文章主要介紹了詳解小程序原生使用ES7 async/await語(yǔ)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08js實(shí)現(xiàn)酷炫倒計(jì)時(shí)動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)酷炫倒計(jì)時(shí)動(dòng)畫(huà),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07JavaScript中正則表達(dá)式判斷匹配規(guī)則及常用方法
JS作為一門常用于web開(kāi)發(fā)的語(yǔ)言,必然要具備正則這種強(qiáng)大的特性,本文將對(duì)JS中的正則用法及常用函數(shù)進(jìn)行一番總結(jié)2017-08-08