igorperegudov
@igorperegudov
Frontend-developer

Как правильно сформировать следующий массив в JS?

Суть такая: только начал изучать javascript и в качестве первого велосипеда выбрал создание игры "Крестики-нолики", для проверки выигрыша, либо ничьи при условии масштабируемости клеток, решил вытягивать многомерный массив, в котором делать проверку и сравнивать поля.

Собственно вопрос:
Как вытащить масив типа: [[td, td,td], [td, td, td], [td, td, td]]

UPD:

Смысл в том, чтобы массив формировался как [[x, x, x], [x, x, x], [x, x, x]] где xxx это ряд, то есть если увеличить поле на две клетки было так: [[x, x, x, x, x], [x, x, x, x, x], [x, x, x, x, x], [x, x, x, x, x], [x, x, x, x, x]]

Код прилагаю:

<table>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</table>

$(document).ready(function () {
    var val;
    var count = 1;
    
    $("td").on("click", function () {
        if (count % 2 == 0 && $(this).text() == "") {
            val = "O";
            $(this).html(val);
        count++
        }
        else if ($(this).text() == "") {
            val = "X";
            $(this).html(val);
        count++
        };
    });
    
    
    $("#restart").on("click", function(){
        $("td").empty();
        $("td").removeClass("win");
        count = 1;
    })
    
});
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
abyrkov
@abyrkov
JavaScripter
Не множественный, а многомерный)
Добавляем такой код в начало(после document-ready):
var array = [];
var els = $('table tr');
for(var i = 0; i < els.length; i++) {
  array.push([]);
  for(var i2 = 0; i2 < $(els[i]).children().length) array[i][i2] = $($(els[i]).children()[i2]);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы