How to search for a string inside an array of strings How to search for a string inside an array of strings arrays arrays

How to search for a string inside an array of strings


It's as simple as iterating the array and looking for the regexp

function searchStringInArray (str, strArray) {    for (var j=0; j<strArray.length; j++) {        if (strArray[j].match(str)) return j;    }    return -1;}

Edit - make str as an argument to function.


You can use Array.prototype.find function in javascript.Array find MDN.

So to find string in array of string, the code becomes very simple. Plus as browser implementation, it will provide good performance.

Ex.

var strs = ['abc', 'def', 'ghi', 'jkl', 'mno'];var value = 'abc';strs.find(    function(str) {        return str == value;    });

or using lambda expression it will become much shorter

var strs = ['abc', 'def', 'ghi', 'jkl', 'mno'];var value = 'abc';strs.find((str) => str === value);


Extending the contains function you linked to:

containsRegex(a, regex){  for(var i = 0; i < a.length; i++) {    if(a[i].search(regex) > -1){      return i;    }  }  return -1;}

Then you call the function with an array of strings and a regex, in your case to look for height:

containsRegex([ '<param name=\"bgcolor\" value=\"#FFFFFF\" />', 'sdafkdf' ], /height/)

You could additionally also return the index where height was found:

containsRegex(a, regex){  for(var i = 0; i < a.length; i++) {    int pos = a[i].search(regex);    if(pos > -1){      return [i, pos];    }  }  return null;}