Найти слова внутри ключа значения объекта, которые хранятся в массиве - PullRequest
0 голосов
/ 14 января 2020

Я получаю объект, у которого много ключей, два из них - "title" и "body", у меня также есть массив, содержащий несколько ключевых слов. Мне нужно сопоставить эти ключевые слова массива в object.body, чтобы как-то выделить их, одним из вариантов может быть обертывание этих совпавших слов в тег <pre class="highlight"> Matched word inside Object.body </pre>.

Я бы предпочел добиться этого, используя raw javascript.

Я пробовал:

function (data) {

        // parseKeys() returns an array with the words to find inside object.body
        var key_words = this.parseKeys();

// data is the object within I have to find inside key:body the array strings
        for (var i = 0; i < data.length; i++) {

          if (data[i].body.includes(key)){

            console.log("****");

          }


        }



      }

1 Ответ

0 голосов
/ 14 января 2020

const keywords = ["doing", "only", "twice"];

const testObj = {
  title: "Whatever1",
  body: "Doing this only once or twice"
}

const checkBodyText = (obj) => {
  const bodyWords = obj.body.split(' ').map(el => el.toLowerCase());
  const matchingWords = bodyWords.filter(el => keywords.includes(el));
  const matchedWordsContainer = document.getElementsByClassName('highlight')[0];
  matchedWordsContainer.innerText = matchingWords.join(' ');
}

checkBodyText(testObj);
.highlight {
  color: red;
}

Вы можете создать переменную, в которой вы сможете хранить свои ключевые слова. Я только что создал фиктивный объект и сравнил каждое слово из "object.body" с любым из ключевых слов из списка, те, которые совпадают, просто отображаются. Из c в этом подходе будет какой-то другой крайний сценарий ios, такой как пунктуация в предложении тела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...