Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.04.2019, 13:38
Новичок на форуме
Отправить личное сообщение для noterindas Посмотреть профиль Найти все сообщения от noterindas
 
Регистрация: 09.04.2019
Сообщений: 2

Поиск слова в матрице
Всем привет. Помогите решить задачу на поиск слова в матрице. Например, дан массив из слов
[
"альфа",
"гамма",
"омега"
]

а также слово, которое надо найти, например, "мал".
Слово должно читаться в любых направлениях (вверх, вниз, вправо, влево), и не должно изгибаться в процессе чтения.
Ответить с цитированием
  #2 (permalink)  
Старый 09.04.2019, 13:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

noterindas,
что должно быть результатом поиска?
Ответить с цитированием
  #3 (permalink)  
Старый 09.04.2019, 13:59
Новичок на форуме
Отправить личное сообщение для noterindas Посмотреть профиль Найти все сообщения от noterindas
 
Регистрация: 09.04.2019
Сообщений: 2

true
Ответить с цитированием
  #4 (permalink)  
Старый 09.04.2019, 15:34
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Ничего не понял насчет
Сообщение от noterindas
Слово должно читаться в любых направлениях (вверх, вниз, вправо, влево), и не должно изгибаться в процессе чтения.
<style>
span { font-weight:bold; }
</style>
<div id='cont'></div>
<script>
var arr= ["альфа","гамма","омега"];
var model = "га";
for(var i = 0; i<arr.length;i++) {
  var place = arr[i].indexOf(model);

  if(place >= 0) {
      cont.innerHTML += arr[i].substring(0,place ) + '<span>' 
      + arr[i].substring(place ,place + model.length) + '</span>' 
       + arr[i].substring(place+model.length ) + '<br>';
   }
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 09.04.2019, 15:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Dilettante_Pro,
массив дополняется "словами" столбцов "аго" и т.д., всего 8 слов получается, если из них хотябы одно содержит или "мал" или "лам" вернуть true.

Последний раз редактировалось рони, 09.04.2019 в 16:17.
Ответить с цитированием
  #6 (permalink)  
Старый 09.04.2019, 16:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

noterindas,
let ar = [
"альфа",
"гамма",
"омега"
 ];
function fn(ar, str)
{  const a = [...str], b = a.slice(0).reverse().join("");
   return ar.some((v,i) => {
       if(v.indexOf(str) !== -1 || v.indexOf(b) !== -1) return true;
       let idx = v.indexOf(a[0]);
       if(idx === -1) return false;
       return a.every((s,k) => ar[i + k] && s === ar[i + k][idx]) || a.every((s,k) => ar[i - k] && s === ar[i - k][idx])
   })
}

alert(fn(ar, "мал"));
Ответить с цитированием
  #7 (permalink)  
Старый 09.04.2019, 16:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

рони, может проще проверять - если крайние символы входного значения не равны символам первого и последнего элемента, то продолжаем, и только если есть равенство, то проверяем средний?
Ответить с цитированием
  #8 (permalink)  
Старый 09.04.2019, 16:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

laimas,
вангую образец любой длины
Ответить с цитированием
  #9 (permalink)  
Старый 09.04.2019, 16:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
вангую образец любой длины
Ну тогда да.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление всех &nbsp; из текста (поиск и удаление любого слова из текста) Stenli jQuery 5 28.06.2017 19:47
поиск матрицы в матрице Brook Events/DOM/Window 0 13.03.2014 03:12
Поиск слова на странице (javascript) Корделия Элементы интерфейса 9 15.08.2013 17:44
Поиск слова в исходном коде html страницы klsorat2010 Ваши сайты и скрипты 1 20.05.2010 23:46
Поиск последнего слова в строке AlexFadeev Элементы интерфейса 3 01.04.2010 18:56