2 つの配列が等しいかどうかを判断することは、プログラミングにおける一般的なタスクです。 JavaScript には配列を比較するためのさまざまなメソッドが用意されていますが、その微妙な点を理解することが重要です。
等価 (==) または厳密等価 (===) 演算子を使用すると、常に正確な結果が得られるとは限りません。結果。次のデモは、この問題を示しています。
var a = [1, 2, 3]; var b = [3, 2, 1]; var c = new Array(1, 2, 3); alert(a == b + "|" + b == c);
このコードは、"false|true" を出力します。これは、== または === のみを使用するだけでは配列の等価性を比較するには不十分であることを示します。
配列の等価性を正確に判断するには、カスタム関数を定義できます。
function arraysEqual(a, b) { if (a === b) return true; if (a == null || b == null) return false; if (a.length !== b.length) return false; // If you don't care about the order of the elements inside // the array, you should sort both arrays here. // Please note that calling sort on an array will modify that array. // you might want to clone your array first. for (var i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }
これ関数は、null 配列、長さの等しいか、要素ごとの等しいかをチェックします。これは、さまざまなシナリオで配列の等価性を判断するための堅牢な方法です。
jQuery は、配列の等価性比較専用の組み込みメソッドを提供しません。ただし、JavaScript の配列操作機能と jQuery のトラバーサル メソッドを利用して、独自のソリューションを実装することはできます。
以上がJavaScript で配列の等価性を確実にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。