Heim >Backend-Entwicklung >PHP-Tutorial >Gibt es ein JavaScript-Äquivalent zu PHPs in_array()?
Kann JavaScript die in_array()-Funktionalität von PHP nachahmen?
In PHP vergleicht in_array() einen Wert mit denen innerhalb eines Arrays und gibt „true“ zurück wenn eine Übereinstimmung gefunden wird. JavaScript hat kein direktes Äquivalent, aber von der Community entwickelte Bibliotheken bieten analoge Funktionalität.
Instanzabgleich mit jQuery oder Prototype
inArray von jQuery und Array.indexOf von Prototype bewältigen diese Herausforderung, indem sie Werte iterativ vergleichen:
// jQuery implementation: function inArray(needle, haystack) { for (var i = 0; i < haystack.length; i++) { if (haystack[i] == needle) return true; } return false; }
Array Vergleich
Für komplexere Szenarien, in denen Sie ganze Arrays vergleichen müssen, kann eine benutzerdefinierte Funktion diesen Bedarf erfüllen:
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; }
Verwendung
// 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'); }
Das obige ist der detaillierte Inhalt vonGibt es ein JavaScript-Äquivalent zu PHPs in_array()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!