JavaScript peut-il imiter la fonctionnalité in_array() de PHP ?
En PHP, in_array() compare une valeur à celles d'un tableau, renvoyant true si une correspondance est trouvée. JavaScript n'a pas d'équivalent direct, mais les bibliothèques développées par la communauté offrent des fonctionnalités analogues.
Correspondance d'instances à l'aide de jQuery ou d'un prototype
inArray de jQuery et Array.indexOf de Prototype relèvent ce défi en comparer les valeurs de manière itérative :
// jQuery implementation: function inArray(needle, haystack) { for (var i = 0; i < haystack.length; i++) { if (haystack[i] == needle) return true; } return false; }
Comparaison de tableaux
Pour des scénarios plus complexes, dans lesquels vous devez comparer des tableaux entiers, une fonction personnalisée peut répondre à ce besoin :
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; }
Utilisation
// 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'); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!