Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah terdapat JavaScript yang setara dengan in_array() PHP?

Adakah terdapat JavaScript yang setara dengan in_array() PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-12 08:17:01608semak imbas

Is there a JavaScript equivalent to PHP's in_array()?

JavaScript Equivalent to PHP's in_array()

JavaScript tidak mempunyai persamaan yang tepat dengan fungsi in_array() PHP, yang menyemak sama ada satu tatasusunan mengandungi nilai tertentu daripada tatasusunan lain. Walau bagaimanapun, beberapa perpustakaan pihak ketiga datang dengan fungsi utiliti yang menyediakan kefungsian yang serupa.

Untuk Perbandingan Nilai Asas

Untuk perbandingan nilai mudah, anda boleh menggunakan salah satu perpustakaan ini :

  • jQuery's jQuery.inArray(): Menyemak sama ada nilai wujud dalam tatasusunan dengan cekap.
if ($.inArray('value', array) !== -1) {
  // Value found in the array
}
  • Prototype's Array.indexOf(): Mengembalikan indeks elemen tatasusunan yang sepadan dengan nilai yang ditentukan.
if (array.indexOf('value') !== -1) {
  // Value found in the array
}

Untuk Perbandingan Tatasusunan

Jika anda perlu menyemak sama ada satu tatasusunan terkandung dalam tatasusunan yang lain, anda boleh menggunakan fungsi tersuai ini:

function inArray(needle, haystack) {
  return haystack.some(function(value) {
    return value.every(function(item) {
      return needle.includes(item);
    });
  });
}

Fungsi ini melaksanakan tingkah laku PHP in_array(), di mana ia mengembalikan benar jika nilai tatasusunan jarum semuanya terkandung dalam salah satu subarray susunan jerami.

Contoh

var needle = ['p', 'h'];
var haystack = [['p', 'h'], ['p', 'r'], 'o'];

if (inArray(needle, haystack)) {
  // Needle array is contained in one of the subarrays of haystack
}

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

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