Adakah Terdapat Setara JavaScript dengan in_array() PHP?

Susan Sarandon
Lepaskan: 2024-11-13 06:16:02
asal
419 orang telah melayarinya

Is There a JavaScript Equivalent of PHP's in_array()?

Bolehkah JavaScript Meniru Fungsi in_array() PHP?

Dalam PHP, in_array() membandingkan nilai dengan nilai dalam tatasusunan, mengembalikan benar jika padanan ditemui. JavaScript tidak mempunyai persamaan langsung, tetapi perpustakaan yang dibangunkan komuniti menyediakan kefungsian yang serupa.

Pemadanan Instance Menggunakan jQuery atau Prototaip

InArray jQuery dan Array Prototype.indexOf menangani cabaran ini dengan membandingkan secara berulang nilai:

// jQuery implementation:
function inArray(needle, haystack) {
  for (var i = 0; i < haystack.length; i++) {
    if (haystack[i] == needle) return true;
  }
  return false;
}
Salin selepas log masuk

Perbandingan Tatasusunan

Untuk senario yang lebih kompleks, di mana anda perlu membandingkan keseluruhan tatasusunan, fungsi tersuai boleh memenuhi keperluan ini:

function arrayCompare(a1, a2) {
  if (a1.length != a2.length) return false;
  for (var i = 0; i < a1.length; i++) {
    if (a1[i] !== a2[i]) return false;
  }
  return true;
}

function inArray(needle, haystack) {
  for (var i = 0; i < haystack.length; i++) {
    if (typeof haystack[i] == 'object') {
      if (arrayCompare(haystack[i], needle)) return true;
    } else {
      if (haystack[i] == needle) return true;
    }
  }
  return false;
}
Salin selepas log masuk

Penggunaan

// Test the custom function:
var a = [['p', 'h'], ['p', 'r'], 'o'];
if (inArray(['p', 'h'], a)) {
  console.log('ph was found');
}
if (inArray(['f', 'i'], a)) {
  console.log('fi was found');
}
if (inArray('o', a)) {
  console.log('o was found');
}
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah Terdapat Setara JavaScript dengan in_array() PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan