Задать вопрос

Как сделать проверку по шаблону в JavaScript?

Всем привет.
Нужна помощь. Посмотрите пример:

var listResult = new Array(
  [x,x,x,0,0,0,0,0,0],
  [0,0,0,x,x,x,0,0,0],
  [0,0,0,0,0,0,x,x,x],
  [x,0,0,x,0,0,0,x,0],
  [0,x,0,0,x,0,0,x,0],
  [0,0,x,0,0,x,0,0,x],
  [x,0,0,0,x,0,0,0,x],
  [0,0,x,0,x,0,x,0,0]
);

var result = [0,2,0,1,1,1,0,2,2]; // == listResult[1]
var result2 = [1,0,2,1,2,0,2,0,1]; // == listResult[7]


Нужно сделать проверку на вхождение result или result2 в listResult.
Например result должен соответствовал listResult[1], а result2 соответствовал listResult[7] ?

4917590.jpg
  • Вопрос задан
  • 2820 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Какой у вас принцип проверки? Как [0,2,0,1,1,1,0,2,2] соответствует [0,0,0,x,x,x,0,0,0]?

0 - любой символ x - одинаковые?

Если шаблоны не меняются - запишите правила кодом - a[3]==a[4] && a[4]==a[5]. Если меняются, то вам придется пройти по массиву, выбрать все индексы с x и сравнить все значения целевого массива. Можно "прекомпилировать" правила в функции, если требуется чтобы проверка была оптимизирована. Для этого генерируете текст функции (прямо строку if(a[3]==a[4] && a[4]==a[5]) return true; else return false; и создаете на её основе функцию: javascript.ru/Function
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект