2012-01-08 3 views
2

2 차원 배열을 두 개 비교하려고합니다. 완전히 동일 할 때만 일치해야합니다. 배열은 잠재적으로 훨씬 길어 지므로 코드는 너무 길다. .each()와 for 루프를 가지고 노려 보았지만 매우 엉망이되어 모든 배열을 비교하지는 않습니다.jquery에서 두 개의 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

한 우수한 솔루션을 사용하여 배열을 비교할 수 있습니다. – techfoobar

+0

+1'.toString()'에 잘 잡습니다. 감사. – ThinkingStiff

+0

+1 - 와우. 와우. –

-2

그들을함으로써 당신은

$(solution).compare(value) 
+1

-1 : jQuery에는 비교 메소드가 없습니다. –

관련 문제