Issue
So I have this method:
getProducts() {
this.productService.getProducts().subscribe(products => {
this.products = products;
});
Everything works great, so these are the 'products':
- 0: {code: 'Product1', order: 1, description: 'Description', category: 'categoryone', price: 1500, …}
- 1: {code: 'Product1', order: 2, description: 'Description', category: 'categoryone', price: 1000, …}
- 2: {code: 'Product2', order: 1, description: '', category: 'categorytwo', price: 1199, …}
- 3: {code: 'Product2', order: 2, description: '', category: 'categorytwo', price: 2999, …}
- 4: {code: 'Product2', order: 3, description: '', category: 'categorytwo', price: 7999, …}
So what I'm trying is to filter and group that products into two class variables, for example categoryOne and categoryTwo and then display that data, but I don't know how.
Solution
If you know the category names and products is an array you can just loop over the array and use if conditions to assign the product to their respective variables
categoryoneProducts = []
categorytwoProducts = []
getProducts() {
this.productService.getProducts().subscribe(products => {
this.products = products;
this.categoryoneProducts = []
this.categorytwoProducts = []
this.products.forEach(product => {
if (product.category === 'categoryone') {
categoryoneProducts.push(product)
} else if (product.category === 'categorytwo') {
categorytwoProducts.push(product)
}
})
});
}
Answered By - Mr. Stash
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.