JavaScript は PHP の in_array() 機能を模倣できますか?
PHP では、in_array() は値を配列内の値と比較し、true を返します。一致するものが見つかった場合。 JavaScript には直接同等のものはありませんが、コミュニティが開発したライブラリは類似の機能を提供します。
jQuery またはプロトタイプを使用したインスタンス マッチング
jQuery の inArray とプロトタイプの Array.indexOf は、次の方法でこの課題に取り組みます。繰り返し比較する値:
// jQuery implementation: function inArray(needle, haystack) { for (var i = 0; i < haystack.length; i++) { if (haystack[i] == needle) return true; } return false; }
配列の比較
配列全体を比較する必要があるより複雑なシナリオの場合、カスタム関数でこのニーズを満たすことができます:
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; }
使用法
// 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'); }
以上がPHP の in_array() に相当する JavaScript はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。