Typescriptでオブジェクトの配列を反復処理する 質問する

Typescriptでオブジェクトの配列を反復処理する 質問する

Angular 2 のオブジェクトの配列を反復処理し、オブジェクト内の特定のキーの文字列の長さの表示を制限する必要があります。

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');
        }
      }
    });
  } 

表示時に prod_desc の長さを (たとえば) 10 文字に制限する必要があります。そのために以下を使用します。

例えば:

this.product_desc.substring(0,10)

ベストアンサー1

forEach配列には組み込み関数を使用できます。

このような:

//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
}

おすすめ記事