久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > JavaScript數組中的indexOf方法詳(xiang)解

JavaScript數組中的indexOf方法詳(xiang)解 時間:2018-09-28      來源:未知

說到 indexOf 大家并不(bu)陌生(sheng),判斷(duan)字(zi)符串是否包涵(han)子字(zi)符串時特別(bie)常用(yong)(正則(ze)不(bu)熟練同(tong)學的(de)利器)。

String 類型的使(shi)用(yong)

溫習(xi)一下大家熟知的字符串(chuan)用法,舉個例子

這里(li) 0 和(he) 3 分別是 o 和(he) n 在字符串中出現的(de)位置(zhi)。起始下(xia)標(biao)是 0。而(er) -1 代表未匹配。

 曾經有(you)人(ren)問我為什么(me)偏偏是 -1 不是 null 或者 undefined。你去問制定(ding)規則的人(ren)啊(a)!一臉(lian)無(wu)奈。

大家看到這里感覺沒什(shen)么亮點啊(a),別急接(jie)著再(zai)來一個例子

看到這里有個小點就是 indexOf 會做簡單的(de)類型轉(zhuan)換,把數字(zi)(zi)轉(zhuan)換成字(zi)(zi)符串(chuan) '2' 然后再(zai)執行。

Number 類型的使(shi)用

大家(jia)可(ke)能會(hui)想 number 類型有(you)沒有(you) indexOf 方法因為會(hui)做隱(yin)式轉(zhuan)換嘛!明確告(gao)訴(su)大家(jia)沒有(you),上例子

非(fei)要對 number 類型使用 indexOf 方法嘞?那就轉換(huan)成字符(fu)串咯,接著上例來寫

第一種寫法簡(jian)單直接,對于已知(zhi)的(de)較短的(de)數(shu)字也不(bu)是不(bu)可行。但(dan)是 num 變(bian)量(liang)針對不(bu)同數(shu)據是變(bian)化(hua)的(de)時(shi)候,怎么辦(ban)呢?

第二(er)種寫法為常用,但對比第三(san)種寫法長了一(yi)點。哈(ha)(ha)哈(ha)(ha),其實都可以,代(dai)碼潔癖(pi)的人(ren)喜歡(huan)第三(san)種

Array 類型(xing)的(de)使用

大(da)家提(ti)起精神,大(da)boss來了。

數組方(fang)法(fa)大家再熟悉不過了,卻(que)忽略了數組有 indexOf 這個方(fang)法(fa)(我個人(ren)感覺)。

干說不(bu)練瞎(xia)扯淡,遇到了什(shen)么(me)問題,注意點(dian)又在哪里(li)?

這里沒(mei)把例子拆的那么細,四個用例足以(yi)說明(ming)問題。

arr.indexOf(‘orange’) 輸出 0 因為 ‘orange’ 是數組的第 0 個元素(su),匹(pi)配到(dao)并(bing)返回下標。

arr.indexOf(‘o’) 輸出 -1 因為此方法不會在每一個元(yuan)素的基(ji)礎上再(zai)次執行 indexOf 匹配。

arr.indexOf(’2016′) 輸(shu)出(chu) 1 因為此方法(fa)從頭匹(pi)配(pei)直到(dao)匹(pi)配(pei)到(dao)時(shi)返回(hui)第一(yi)個數組元素的(de)(de)下表,而不是返回(hui)全部(bu)匹(pi)配(pei)的(de)(de)下標。

arr.indexOf(2016) 輸出 -1 注意:這里不會做隱式(shi)類型轉(zhuan)換。

既然(ran)坑已經(jing)發現我們不妨刨(bao)根問(wen)底。去MDN官網一看(kan)究竟。對此話題(ti)感興(xing)趣的(de)朋友可以直接跳轉(zhuan)到 Array.prototype.indexOf()

只(zhi)想(xiang)了解(jie)的朋(peng)友下面給大家官(guan)方的 Description。

indexOf() compares searchElement to elements of the Array using strict equality (the same method used by the === or triple-equals operator).

一(yi)目了(le)然,這里(li)用的是嚴格等于(yu)(===)。大(da)家做類(lei)似判斷的時候多(duo)留意。不要(yao)誤認為(wei)數字(zi)會轉成字(zi)符(fu)串,同(tong)理(li)字(zi)符(fu)串也不會轉換成數字(zi)。

總結

小知識點積累,不作為深入討論(lun)的(de)(de)(de)話題,因此這里沒有解(jie)釋 indexOf() 的(de)(de)(de)第(di)二個(ge)參(can)數,相(xiang)信大家都知道第(di)二個(ge)參(can)數的(de)(de)(de)作用,不知道的(de)(de)(de)可以看這里String.prototype.indexOf(),然后結合上面數組的(de)(de)(de)鏈接也看一(yi)下第(di)二個(ge)參(can)數。

上一篇:Unity3D中的烘焙系統

下一篇:BOA服務器與CGI

熱點文(wen)章推(tui)薦
華(hua)清學員就業榜(bang)單
高薪(xin)學員經(jing)驗分享
熱點新聞(wen)推薦
前(qian)臺專線:010-82525158 企(qi)業(ye)培訓洽談專(zhuan)線:010-82525379 院校合作洽談(tan)專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部