Как проверить значения массива, полного объектов Jquery - PullRequest
0 голосов
/ 27 июня 2018

Я делаю игру в крестики-нолики для развлечения и пытаюсь сделать что-то немного другое.

В настоящее время я пытаюсь проверить выигрышные комбинации, просматривая массив сохраненных тд, которые были получены с помощью Jquery.

WIN_COMBINATIONS = [$("#square_0, #square_1, #square_2"), 
$("#square_6, #square_7, #square_8"),
$("#square_0, #square_3, #square_6"), 
$("#square_3, #square_4, #square_5"), 
$("#square_1, #square_4, #square_7"),
$("#square_2, #square_5, #square_8"), 
$("#square_0, #square_4, #square_8"), $("#square_6, #square_4, #square_2")]

Итак, по сути, WIN_COMBINATIONS [0] - выигрышная комбинация. Каков наилучший способ итерации и проверки .html объекта Jquery?

В принципе, я хотел бы сделать что-то вроде этого

if (WIN_COMBINATIONS[0].html = "X", "X", "X") {
        //do something here
}

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

если ES6 (ES2015) в порядке, чем вы можете попробовать уменьшить, чтобы найти совпадение

!!array.reduce(function(a, b){ return (a === b) ? a : NaN; });

Результаты:

var array = ["a", "a", "a"] => result: "true"
var array = ["a", "b", "a"] => result: "false"
var array = ["false", ""] => result: "false"
var array = ["false", false] => result: "false"
var array = ["false", "false"] => result: "true"
var array = [NaN, NaN] => result: "false" 

Внимание: var array = [] => result: TypeError thrown

Все кредиты: Гонки Легкости на Орбите

0 голосов
/ 27 июня 2018
WIN_COMBINATIONS.forEach(function(combination){
    if(combination.map(function(){return $(this).text()}).toArray().join("") == "XXX") { 
        console.log("winning combination")   
    } 
})   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...