配列同士の比較し中身が一致するか判定
配列同士を比較するには、array.toString
メソッドを使用します。
array.toStringメソッドは配列で使用すると配列内の値をカンマ区切りで文字列に変換します。
配列が入れ子になっている場合でも1つのコンマ区切りの文字列で返します。
- ※ 連想配列(ハッシュ)の場合あるいは含まれる場合、array.toStringメソッドを使用すると「[object Object]」として返してしまいますので注意が必要です。
サンプルコード
JavaScript
var array1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
array2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
if (array1.toString() === array1.toString()) {
alert('一致');
} else {
alert('不一致');
}
関数化
関数にするほどでもないと思いますが、Boolean値で返す関数のやり方です。
定義
JavaScript
var isArrayEqual = function(array1, array2) {
if (array1 && array2 && array1.toString() === array1.toString()) return true;
return false;
};
使い方
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
array1 | any[] | 比較する1つ目の配列 |
第一引数 必須 |
array2 | any[] | 比較する2つ目の配列 |
戻り値
一致した場合はtrue、一致しなかった場合はfalseを返します。
JavaScript
var array1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
array2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
if (isArrayEqual(array1, array2)) {
alert('一致');
} else {
alert('不一致');
}