title: How to multi filter an array of objects?
body: <p>This is my demo code:</p>
  
  <pre><code>//Imports and decorators up here for Angular 2
  
  export class ProductsListComponent {
  
    products = [
      { name: "A", color: "Blue", size: 50 },
      { name: "B", color: "Blue", size: 60 },
      { name: "C", color: "Black", size: 70 }
    ];
  
    filters = {
      colors: ["Blue", "Black"],
      sizes: [70, 50]
    };
  
    //This is my first approach but just works for the colors array inside filters object  
    //and i have no ideia how to filter sizes too
    filterProducts() {
      let results = [];
      this.filters.colors.forEach((color) =&gt; {
        this.products.filter((product) =&gt; {
          if (product.color === color) {
            results.push(product);
          }
          return true; //filter callback requires a boolean
        })
      });
      console.log(results);
    }
  
  }
  </code></pre>
  
  <p>I would like the <code>results</code> array would look like this according to <code>filters</code>:</p>
  
  <pre><code>var results = [
    { "name": "A", "color": "Blue", "size": 50 },
    { "name": "C", "color": "Black", "size": 70 }
  ];
  </code></pre>
  
  <p>I hope to have explained my problem well.</p>