2012-01-08 11 views
2

2つの配列を2つ比較すると、完全に同一の場合にのみ一致する必要があります。私が持っているコードはあまりにも長く、配列は潜在的にはるかに長くなります。私は.each()とforループで試してみましたが、非常に面倒で、各配列を比較しません。jqueryで2つの2次元配列を比較する

var solution=[ 
[0,0,0], 
[0,0,1], 
[0,0,1]]; 

var value=[ 
[0,0,0], 
[0,0,1], 
[0,0,1]]; 

//compare arrays 
    if (solution[0][0]==value[0][0] && 
     solution[0][1]==value[0][1] && 
     solution[0][2]==value[0][2] && 
     solution[1][0]==value[1][0] && 
     solution[1][1]==value[1][1] && 
     solution[1][2]==value[1][2] && 
     solution[2][0]==value[2][0] && 
     solution[2][1]==value[2][1] && 
     solution[2][2]==value[2][2]) { 

     $('h1').show(); 

    } 
    else { $('h1').hide();} 

答えて

8

文字列にそれらを作ることで、単純なトリック、:)

function equalArray(a, b) { 
    return JSON.stringify(a) == JSON.stringify(b); 
} 
+0

+1優れたソリューションを使用して配列を比較することができます。 – techfoobar

+0

+1 '.toString()'にうまく捕まえます。ありがとう。 – ThinkingStiff

+0

+1 - うわー。ちょうどうわー。 –

-2

あなたは

$(solution).compare(value) 
+1

-1:jQueryには比較メソッドがありません –

関連する問題