Rumah  >  Artikel  >  hujung hadapan web  >  Kod pelaksanaan JS untuk menentukan sama ada elemen berada dalam kemahiran array_javascript

Kod pelaksanaan JS untuk menentukan sama ada elemen berada dalam kemahiran array_javascript

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

1. JQuery

Jika anda menggunakan JQuery, anda boleh menggunakan fungsi inArray():

Penjelasan terperinci tentang fungsi jquery inarray()
jquery.inarray(nilai, tatasusunan)
Menentukan kedudukan argumen pertama dalam tatasusunan (mengembalikan -1 jika tidak dijumpai).

tentukan indeks parameter pertama dalam tatasusunan (-1 jika tidak dijumpai).
Nilai pulangan
jquery
Parameter
nilai (mana-mana): digunakan untuk mencari sama ada
wujud dalam tatasusunan tatasusunan (array): Tatasusunan untuk diproses.


Penggunaan:

Salin kod Kod adalah seperti berikut:

$.inArray(nilai, tatasusunan)

2. Tulis fungsi anda sendiri

function contains(arr, obj) {
  var i = arr.length;
  while (i--) {
    if (arr[i] === obj) {
      return true;
    }
  }
  return false;
}

Penggunaan:

Salin kod Kod adalah seperti berikut:

var arr = Tatasusunan baharu(1, 2, 3);
mengandungi(arr, 2);//return true
mengandungi(arr, 4);//return false

3. Tambahkan fungsi pada Array

Array.prototype.contains = function (obj) {
  var i = this.length;
  while (i--) {
    if (this[i] === obj) {
      return true;
    }
  }
  return false;
}

Cara menggunakan:

Salin kod Kod adalah seperti berikut:

[1, 2, 3]. mengandungi(2); //Kembalikan benar
[1, 2, 3]. mengandungi('2'); //Return false

4. Gunakan indexOf

Tetapi terdapat masalah bahawa IndexOf tidak serasi dalam beberapa versi IE Anda boleh menggunakan kaedah berikut:

if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
    return -1;
  }
}

Mula-mula tentukan sama ada Array mempunyai kaedah indexOf, dan jika tidak, lanjutkan kaedah ini.

Jadi kod di atas hendaklah ditulis sebelum kod menggunakan kaedah indexOf:

var arr = new Array('1', '2', '3');
if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
    return -1;
  }
}
var index = arr.indexOf('1');//为index赋值为0

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