indexof()
是js中內建的方法之一,它的功能大家都很熟悉:簡單來說就是得到資料的索引,對於正則不熟練的人,是個很不錯的方法。
如果查詢到返回索引,反之返回-1(固定用法);
因為indexof()在不同型別使用的時候可能有細節性的注意點;
這裡我們對不同資料型別使用indexof的場景進行討論(其實就是string和array)
注:(暫不討論兩個引數時(第二個引數為查詢的起始位置),以及lastindexof()
)
string型別使用indexof();
string中的indexof方法
(話不多說直接上**,不跟你多bb)
var s =
'12345'
; console.
log(s.
indexof(1
));//0
console.
log(s.
indexof
('1'))
;//0
console.
log(
'----------------------------'
);
相信大家已經發現特點,也就是string的indexof()是對資料進行了隱式型別轉換的,如果引數是數值它會轉換為字元來進行查詢然後返回索引,本質原因是什麼呢,那就是 我們js底層**中string.prototype.indexof()
使用的是==
進行比較判斷;
number型別的indexof()
醒醒,number
型別哪來的indexof()
方法,會直接報錯的好嗎,
如果想對數值型別的進行查詢索引,可以將數值轉換為字元再進行查詢,方法有很多:
- string()
- .tostring()
- 與空字元』'進行+
拼接
array型別的indexof()
var a =[1
,2,3
,'4'
,'5'
,'6'];
console.
log(a.
indexof(3
));//2
console.
log(a.
indexof
('4'))
;//3
console.
log(a.
indexof(4
));//-1
可以看到array
的indexof()
是不會進行隱式型別轉換的,也就是說array.prototype.indexof()
底層**在實現的時候使用的是強等於===
嚴格比較;
總結
js陣列中的indexof()方法
indexof 語法 arrayobject.indexof searchvalue,startindex 功能 從陣列的開頭 位置0 開始向後查詢。引數 searchvalue 必需,要查詢的項 startindex 可選,起點位置的索引。返回值 number,查詢的項在陣列中的位置,沒有找到的情...
JS中的indexof 解釋
indexof 方法可返回某個指定的字串值在字串中首次出現的位置。stringobject.indexof searchvalue,fromindex 該方法將從頭到尾地檢索字串 stringobject,看它是否含有子串 searchvalue。開始檢索的位置在字串的 fromindex 處或字串...
JS中indexOf的用法
string.indexof char,startindex count 返回指定字元在原字串中的第乙個匹配項的索引。可指定字元開始檢索位置和指定長度的字元,若沒有找到該字元,則返回 1。也可以判斷陣列中是否包含某個值。示例1 查詢字串中某一字元從頭開始第一次出現的索引 var str hello ...