title: AngularJS ng-repeat with filter - notarray error
body: <p>I have a list of items that I'm displaying with <code>ng-repeat</code>.  I want to add a filter to show/hide archived items.</p>
  <p>I have added a checkbox:</p>
  <pre><code>&lt;input type=&quot;checkbox&quot; ng-model=&quot;queryFilter.archived&quot;&gt;Show archived messages
  </code></pre>
  <p>In my controller I have this:</p>
  <pre><code>$scope.queryFilter = {
      archived: false
  };
  </code></pre>
  <p>My list of items is displayed in a table.  I've tried the following:</p>
  <pre><code>&lt;tr ng-repeat=&quot;message in messages | filter : queryFilter&quot;&gt;
  
  &lt;tr ng-repeat=&quot;message in messages | filter : { archived: queryFilter.archived }&quot;&gt;
  
  &lt;tr ng-repeat=&quot;message in messages | filter : queryFilter track by $index&quot;&gt;
  </code></pre>
  <p>I get this error:</p>
  <blockquote>
  <p>Error: [filter:notarray]</p>
  <p>Expected array but received: {}</p>
  </blockquote>
  <p><strong>The filtering does work</strong> but I want to know why I am getting the error.</p>