title: Filter object array based on string array "with partial match"
body: <p>I have an array of objects and want to filter it based on values of another string array and remove the objects that doesn't contain any of the strings.</p>
  
  <p>I tried using split for the string array and search for each term in a forEach but it didn't work then tried the following which works as a filter but it filters for exact match not partial.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var employees = [
    {"name": "zxc asd", "age":"30"},
    {"name": "asd", "age":"24"},
    {"name": "qwe", "age":"44"},
    {"name": "zxc", "age":"28"},
  ];
  
  var keepNames = ["asd", "qwe"];
  
  keepNames = keepNames.map(name =&gt; {
    return name.toLowerCase();
  });
  
  
  var filteredEmployees = employees.filter(emp =&gt; {
    return keepNames.indexOf(emp.name.toLowerCase()) !== -1;
  });
  
  console.log( filteredEmployees );</code></pre>
  </div>
  </div>
  </p>
  
  <pre><code>Expected Output[  
    {"name": "zxc asd", "age":"30"},
    {"name": "asd", "age":"24"},
    {"name": "qwe", "age":"44"}];
  
  Actual Output [
    {"name": "asd", "age":"24"},
    {"name": "qwe", "age":"44"}]
  </code></pre>
  
  <p>I'd really appreciate any help.
  Thanks in advance</p>