title: Filter object by child array in ng-repeat statement that uses track by $index to handle dupes
body: <p>I have an object <code>narrow.searchedMenu</code> with 3 equal-length child arrays, which I display using <code>ng-repeat</code> with <code>track by $index</code> because there are some duplicate elements.</p>
  
  <pre><code>    &lt;ul&gt;
        &lt;li ng-repeat="item in narrow.searchedMenu.description track by $index"&gt;
           {{ narrow.searchedMenu.name[$index] }},
           {{ narrow.searchedMenu.short_name[$index] }},
           {{ narrow.searchedMenu.description[$index] }}&lt;/li&gt;
    &lt;/ul&gt;
  </code></pre>
  
  <p>I need to be able to filter the displayed results by keeping only those results where a keyword appears in the <code>description</code>. If a <code>description</code> doesn't match I want to exlcude the <code>name</code> and <code>short_name</code> as well as the <code>description</code>.</p>
  
  <p>Normally I would use something like this:</p>
  
  <pre><code>| filter{description:'chicken'} 
  </code></pre>
  
  <p>appended to the end of the <code>ng-repeat</code> statement. However, it does not seem to work with <code>track by</code>.</p>
  
  <p>It gives me this error on the console when I try it:</p>
  
  <blockquote>
    <p>Error: [$parse:syntax]
    <a href="http://errors.angularjs.org/1.5.8/" rel="nofollow">http://errors.angularjs.org/1.5.8/</a>$parse/syntax?p0=%7B&amp;p1=is%20an%20unexpected%20token&amp;p2=16&amp;p3=NaNndex%20%7C%filter%7Bdescription%3A'chicken'%7D&amp;p4=%7Bdescription%3A'chicken'%7D</p>
  </blockquote>
  
  <p>I've tried several other potential solutions but so far no luck.</p>
  
  <p>Note that the <code>$scope</code> is not injected into my controller and if I try using a custom filter I get the following error:</p>
  
  <blockquote>
    <p>"Error: [filter:notarray]
    errors.angularjs.org/1.5.8/filter/notarray?p0=0";</p>
  </blockquote>
  
  <p>One last thing -- I'm told to avoid <code>includes</code> because of it not being supported widely enough (someone said something about <code>polyfill</code> being an alternative, but I'm not sure if it's applicable to this?).</p>