сравнивая два 2d массива в jquery - PullRequest
2 голосов
/ 08 января 2012

Я пытаюсь сравнить два массива, оба 2d, мне нужно, чтобы они совпадали только тогда, когда они полностью идентичны. Код, который у меня есть, слишком длинный, так как массивы потенциально могут быть намного длиннее. Я пытался играть с .each () и для циклов, но он получился очень запутанным и не будет сравнивать каждый массив.

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();}

Ответы [ 2 ]

9 голосов
/ 08 января 2012

простой трюк, превращая их в строки:)

function equalArray(a, b) {
    return JSON.stringify(a) == JSON.stringify(b);
}
0 голосов
/ 08 января 2012

Вы можете сравнивать массивы, используя

 $(solution).compare(value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...