BugHunterUK BugHunterUK - 4 months ago 10
Javascript Question

Lodash: Search a string for at least 1 value in an array

Is there a lodash function that takes an array of needles, and searches a string (haystack) for at least one match? For example:

let needles = ['one', 'two', 'three']
let str = 'one in every thousand will quit their jobs'


I need to search
str
to see if it contains at least one of the
needles
. I can implement this without lodash, but if there's a function that will help out I'd rather not reinvent the wheel as I already have lodash loaded into my project.

Answer

Use Array#some, The some() method tests whether some element in the array passes the test implemented by the provided function.

let needles = ['one', 'two', 'three']
let str = 'one in every thousand will quit their jobs';

let bool = needles.some(function(el) {
  return str.indexOf(el) > -1;
});
console.log(bool);