title: filter javascript array on multiple conditions
body: <p>I have an input box that filters an array and only shows those matches.</p>
  
  <pre><code>let songs = [
     {name: 'Let It Be', artist: 'The Beatles},
     {name: 'Lady Madonna', artist: 'The Beatles },
     {name: 'Mama Mia', artist: 'The Beatles}
  ];
  </code></pre>
  
  <p>In the following example it will just match by name.</p>
  
  <pre><code>let value = 'name';
  let q = 'Let it be' // value entered in input box;
  
  let songFilter = songs.filter(function(song) {
     return song[value].toString().toLowerCase().indexOf(q) != -1; // returns true or false
  });
  </code></pre>
  
  <p>Then when I enter <code>Let It Be</code> into the input box it will show return just <code>'Let It Be'</code>. However, I want to filter by two songs, so if I enter <code>Let It Be, Lady Madonna</code> I would like it to return two songs. </p>
  
  <p>I have taken many approaches but cannot figure out how to get this working. I also have <code>lodash</code> available if this makes it easier to solve.</p>