Как напечатать словарные слова в выводе для данного слова с помощью javascript

У меня есть функция WordSplit(strArr), которая должна читать массив строк, хранящийся в strArr, который будет содержать 2 элемента: первый элемент будет последовательностью символов, а второй элемент будет длинной строкой слов, разделенных запятыми , в алфавитном порядке, который представляет собой словарь произвольной длины.

Например: strArr может быть: ["привет", "яблоко,летучая мышь,кошка,до свидания,привет,желтый,почему"]. Моя цель — определить, можно ли разделить первый элемент ввода на два слова, где оба слова существуют в словаре, предоставленном во втором вводе. В этом примере первый элемент можно разделить на два слова: hello и cat, потому что оба эти слова есть в словаре.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
3 363
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете создать Set из словаря (после разделения запятой), а затем проверить каждую точку разделения, проверяя, существуют ли два слова, полученные в каждой точке, в Set.

function WordSplit([word, dictionary]) {
  dictionary = new Set(dictionary.split(","));
  for (let i = 0; i < word.length; i++) {
    if (dictionary.has(word.slice(0, i)) && dictionary.has(word.slice(i))) {
      console.info(word, 'can be split into', word.slice(0, i), 'and', word.slice(i));
      return true;
    }
  }
  return false;
}
console.info(WordSplit(["hellocat", "apple,bat,cat,goodbye,hello,yellow,why"]));

Единственный способ, которым я могу это сделать, - это иметь массив строк словарных слов. Это, очевидно, не было бы таким всеобъемлющим и трудоемким. Вы можете проверить каждое слово в strArr против каждого из ваших слов в массиве String словарных слов, используя цикл for, и если слово в strArr содержит какое-либо словарное слово, используя метод contains, тогда вы можете разделить слово в strArr на две части. : part1 идет от charAt 0 в str[i] до CharSequence s, а part2 идет от s до конца str[i].

 for(int i = 0; i < strArr.length; i++) {
    
        for (int x = 0; x < words.length; x++) {

 CharSequence s = words[x]
    if (strArr[i].contains(s) {
    String part1 = strArr[i].split(0,s);
    String part2 = strArr[i].split(s);
    }
    System.out.println(part1 + "" + part2);
}

}

Не могли бы вы показать мне этот пример Например: strArr может быть: ["hellocat", "apple,bat,cat,goodbye,hello,yellow,why"]. Моя цель — определить, можно ли разделить первый элемент ввода на два слова, где оба слова существуют в словаре, предоставленном во втором вводе. В этом примере первый элемент можно разделить на два слова: hello и cat, потому что оба эти слова есть в словаре.

deepa123 menon 12.12.2020 19:01

Другие вопросы по теме