Rumah > hujung hadapan web > tutorial js > indexOf dan lastIndexOf contoh penggunaan pengenalan_javascript kemahiran

indexOf dan lastIndexOf contoh penggunaan pengenalan_javascript kemahiran

WBOY
Lepaskan: 2016-05-16 16:37:57
asal
1758 orang telah melayarinya

Tujuan indexOf adalah untuk mencari kedudukan perkataan dalam rentetan

lastIndexOf juga merupakan carian perkataan Perbezaan antara mereka ialah yang pertama bermula dari permulaan rentetan dan yang terakhir bermula dari penghujung rentetan.

Setelah perkataan yang ditentukan ditemui, nombor kedudukan semasa perkataan akan dikembalikan. Jika tidak dijumpai, kembalikan -1.

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/")); //0
console.log(str.lastIndexOf("/")); //39

Salin selepas log masuk

Parameter 1 ialah perkataan yang perlu dicari, ia mestilah str, ungkapan biasa tidak akan berfungsi.

Juga ia menerima parameter ke-2. Jenis nombor, ini membolehkan kami menentukan julat carian.

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/", 0)); //0 默认情况是 0
console.log(str.lastIndexOf("/", str.length)); //39 默认情况是 str.length
Salin selepas log masuk

Kawalan kedua-dua kaedah adalah dalam arah yang berbeza.

Anggapkan indexOf ditetapkan kepada 10, maka julat carian adalah dari 10 hingga str.length (akhir aksara)

Jika lastIndexOf ditetapkan kepada 10, julat carian ialah dari 10 hingga 0 (awalan)

Anda harus memberi perhatian kepada perkara ini.

ps: Jika ia ditetapkan kepada nombor negatif seperti -500, akan berlaku fenomena aneh yang saya sendiri tidak faham = = " ;

Kadang-kadang kita nak tentukan yang ke-n lepas tu kita boleh capai melalui kaedah di atas.

Contohnya:

String.prototype.myIndexOf = function (searchValue, startIndex) { 
var text = this;
startIndex = startIndex || 1; 
var is_negative = startIndex < 0;
var ipos = (is_negative) &#63; text.length + 1 : 0 - 1; 
var loopTime = Math.abs(startIndex);
for (var i = 0; i < loopTime ; i++) {
ipos = (is_negative) &#63; text.lastIndexOf(searchValue, ipos - 1) : text.indexOf(searchValue, ipos + 1);
if (ipos == -1) break;
}
return ipos;
}
Salin selepas log masuk
var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.myIndexOf("/", 3)); //20
console.log(str.myIndexOf("/", -2)); //25 倒数第2个的位置
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan