Finding numerous keywords in a given text (Javascript)

Here is the code snippet I'm working with:

// Finding multiple keywords within a text
// Scenario 1
var inputText = "Hello, My name is @Steve, I love @Bill, happy new year!";
var terms = ["steve"];
var result = inputText.toLowerCase().search([terms]);
console.log(result);
// Expected output: 19

// Scenario 2
var inputText = "Hello, My name is @Steve, I love @Bill, happy new year!";
var terms = ["bill"];
var result = inputText.toLowerCase().search([terms]);
console.log(result);
// Expected output: 34

// Scenario 3
var inputText = "Hello, My name is @Steve, I love @Bill, happy new year!";
var terms = ["steve, bill"];
var result = inputText.toLowerCase().search([terms]);
console.log(result);
// Expected output: -1

// Scenario 4
var inputText = "Hello, My name is @Steve, I love @Bill, happy new year!";
var terms = ["steve", "bill"];
var result = inputText.toLowerCase().search([terms]);
console.log(result);
// Expected output: -1

Is there something missing to make Scenario 3 and Scenario 4 return positive results?

I am looking for a way to ensure that if the text matches at least one of the keywords, it should return a positive result.

Currently, this approach is not yielding the desired outcome. Any assistance would be greatly appreciated. Thank you.

Thank you.

Answer №1

After thoroughly reviewing the documentation, it is evident that the search method converts the supplied argument into a regex pattern, resulting in /john,david/ which specifically looks for occurrences of "john,david".

It is essential to input a valid regular expression.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Using Waveskeeper for Verification: Solutions for Resolving the 'Waves is not defined' Issue

I'm currently working on creating a page that authenticates users with Waveskeeper. I have successfully installed the Waveskeeper addon on Chrome, but I keep encountering an error: ReferenceError: Waves is not defined. I've attempted to use both ...

Issue with VueJS rendering data within a for loop

As a newcomer to VueJS, I appreciate your patience as I navigate through this. Let me provide as much detail as possible. I am currently working on a Vue app that needs to retrieve a response from a server, iterate through the data, and set a Vue data var ...

When a VueJS button is located within a div that also contains a link, clicking on

Can someone help me with my HTML issue? <a href="/someplace"> <div> <vuecomp></vuecomp> <span>Click row for more info</span> </div> </a> Following is the Vue component I am working on... ...

An algorithm designed to evenly distribute items among multiple arrays when the number of items is less than the number of arrays

Looking for an algorithm in PHP that can evenly distribute items across multiple arrays while skipping arrays if the number of items is less than the number of arrays. Here's a hypothetical scenario to illustrate my problem: Scenario: Imagine there ...

Contrast between Braces and Quotation Marks in Variable Usage

I've been experimenting with adding an initial empty value to a variable, but I'm confused about the distinctions between the following: var question = ''; var question = {}; Can someone explain the difference between using curly bra ...

The console indicates that the state's arrays have been filled, yet I'm unable to retrieve the object[0]

In my code, the functions that populate the state are called on component will mount. When I log the state on the render, this is what I observe in the log. The log clearly shows that the arrays in the state have been populated, although there seems to be ...

Mastering Angular: Tackling a Directive with Two Parts

I'm working on a directive that's responsible for embedding footnotes into a body of text while providing popover functionality. The text-notes directive is designed to be placed on a parent element, loading content and its related text notes dyn ...

"Extracting information from a database in Angular Laravel to create a Chart.js display - a step-by-step

Currently, I am working on developing a dashboard application that includes various charts. My aim is to customize the data displayed in each user's chart based on information retrieved from a database. This is how my setup looks like: HTML <div ...

Troubleshooting React/Jest issues with updating values in Select elements on onChange event

I am currently testing the Select element's value after it has been changed with the following code: it("changes value after selecting another field", () => { doSetupWork(); let field = screen.getByLabelText("MySelectField") ...

Using JavaScript on mobile devices to stream a camera feed to a server

Currently, we are developing an application that requires streaming video recordings to a server. The process flow is as follows: 1) Open a website and activate the primary camera 2) Commence streaming of the camera video to the server 3) Complete the task ...

The state remains unchanged when useState is invoked

I am currently designing a unique restaurant website template. As part of the project, I have implemented a modal box with two arrow buttons to navigate between pages. The issue I am facing is that the value of the pageNumber variable, tracked using useSta ...

Using JQuery with special characters in attributes

Within my jQuery script, I am required to dynamically translate certain content. As a part of this function, I have the following code: $('#password').attr('placeholder', 'Contrase&ntilde;a'); In this code snippet, I att ...

Importing the .css file within a React component for dynamic styling

In my component, I am trying to dynamically load a .css file based on the result of an AJAX call in componentDidMount(). I have attempted adding a <link> element in the render return (which did not work), and also tried injecting the tag directly int ...

The HTML div captured with html2canvas is incomplete

I am currently developing a meme editor website utilizing the html2canvas library available at Below is the HTML code for the div I aim to capture: <div class="container"> <div id="theUserMeme"> <div class=& ...

Changing color based on AngularJS condition using CSS

My HTML code looks like this: <div> <i class="glyphicon glyphicon-envelope" style="margin-top: -50px; cursor:pointer; color: #1F45FC" ng-click="createComment(set_id)"> </i> Route <center> ...

Stop button from being clicked inside a div when mouse hovers over it

I am facing an issue with a div containing a mouseenter event and a button inside it with a click event. The concept is that when the user hovers over the div triggering the mouseenter event, the div becomes "active", allowing the button to be visible and ...

Unraveling functions from a JavaScript promise in a web application using ExpressJS and NeDB

I have successfully implemented code that retrieves all users from my neDB-promisses: const fetchAllUsers = (res) => { db.find({}) .sort({ name: 1 }) .exec() .then( (content) => { res.status(2 ...

Gather and consolidate all files into a single file using Node.js / JavaScript

I currently have 3 JSON files located in my project/Folder file1.json { "id":"01", "name":"abc", "subject":[ "subject1":"Maths", "subject2":"Science" ...

Implementing dynamic keys in a JSON data structure with Node.js

Specifically focused on utilizing Node.js ES6 capabilities. I am currently working on creating a JSON document for insertion into a MongoDB database. The keys for inserting the document will be derived from the input values provided. For instance, Here i ...

Accessing Cognito using ReactJS and fetching data with specific parameters

I'm currently attempting to retrieve the email of the user who is logged in and use it within my fetch() call. I have successfully obtained the email using getfirstapi() and used it in my form, but I am encountering issues when trying to pass it into ...