2つの配列が同一であるかどうかを確認したい(内容に関してではなく、正確な順序で)。
例えば:
array1 = [1,2,3,4,5]
array2 = [1,2,3,4,5]
array3 = [3,5,1,2,4]
配列1と2は同じですが、3は異なります。
JavaScriptでこれを行う良い方法はありますか?
それでは、各要素を繰り返しチェックすることの何が問題になっていますか?
function arraysEqual(arr1, arr2) {
if(arr1.length !== arr2.length)
return false;
for(var i = arr1.length; i--;) {
if(arr1[i] !== arr2[i])
return false;
}
return true;
}
次のように文字列表現を比較できます。
array1.toString() == array2.toString()
array1.toString() !== array3.toString()
しかしそれはまた
array4 = ['1',2,3,4,5]
あなたにとって重要な場合、array1に等しい