HiveBrain v1.2.0
Get Started
← Back to all entries
patternjavascriptangularCritical

Iterate over array of objects in Typescript

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
arraytypescriptoveriterateobjects

Problem

I need to iterate over the array of objects in angular 2 and limit the string length display for a particular key in the object.

this.productService.loadAllProducts(product).subscribe(data => {
      if (this.authService.checkActiveSession(data)) {
        if (data.success) {
         //console.log(this.product_desc.substring(0,2))
             for(let i=0;i<data.products.length ;i++){  //How to properly iterate here!!
             console.log(data.products[0].product_desc)
          }
          this.source.load(data.products);
         } else {
          console.log('Not binded');
        }
      }
    });
  }


I need to limit the prod_desc length to (say) 10 characters while displaying for which I have used:

Eg:

this.product_desc.substring(0,10)

Solution

You can use the built-in forEach function for arrays.

Like this:

//this sets all product descriptions to a max length of 10 characters
data.products.forEach( (element) => {
    element.product_desc = element.product_desc.substring(0,10);
});


Your version wasn't wrong though. It should look more like this:

for(let i=0; i<data.products.length; i++){
    console.log(data.products[i].product_desc); //use i instead of 0
}

Code Snippets

//this sets all product descriptions to a max length of 10 characters
data.products.forEach( (element) => {
    element.product_desc = element.product_desc.substring(0,10);
});
for(let i=0; i<data.products.length; i++){
    console.log(data.products[i].product_desc); //use i instead of 0
}

Context

Stack Overflow Q#46213989, score: 256

Revisions (0)

No revisions yet.