Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript tidak menyokong indexof

JavaScript tidak menyokong indexof

WBOY
WBOYasal
2016-05-16 15:07:261473semak imbas

takrifan dan penggunaan kaedah indexOf()

Kaedah indexOf() mengembalikan kedudukan kejadian pertama nilai rentetan yang ditentukan dalam rentetan.

Kaedah ini akan mendapatkan semula stringObject dari awal hingga akhir untuk melihat sama ada ia mengandungi nilai carian subrentetan. Kedudukan permulaan carian adalah pada fromindex rentetan atau permulaan rentetan (apabila fromindex tidak dinyatakan). Jika nilai carian ditemui, kedudukan kejadian pertama nilai carian dikembalikan.

Kedudukan watak dalam stringObject bermula dari 0.

Mengembalikan -1 jika rentetan tidak ditemui dalam tatasusunan.

Menyatakan maksud:

Kaedah indeks dalam js boleh mencari nilai indeks pertama yang ditemui dalam tatasusunan untuk elemen tertentu, tetapi indexof tidak disokong di bawah IE8 Artikel ini akan memperkenalkan kepada anda penyelesaian untuk IE8 tidak menyokong indeks

Jika penyemak imbas tidak menyokong indexof, anda boleh menggunakan kod berikut pada permulaan skrip semasa menulisnya Ia akan membolehkan anda menggunakan kaedah indexOf tanpa sokongan asli.

if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(searchElement, fromIndex) {
var k;
if (this == null) {
throw new TypeError('"this" is null or not defined');
}
var O = Object(this);
var len = O.length >>> 0;
if (len === 0) {
return -1;
}
var n = +fromIndex || 0;
if (Math.abs(n) === Infinity) {
n = 0;
}
if (n >= len) {
return -1;
}
k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
while (k < len) {
if (k in O && O[k] === searchElement) {
return k;
}
k++;
}
return -1;
};
}

JS tidak menyokong indexof. Penyelesaian di atas sangat berkesan. Pada masa yang sama, kami juga sangat berterima kasih atas sokongan anda terhadap Skrip Laman web rumah!

Kenyataan:
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