簡體   English   中英

迭代Typescript中的對象數組

[英]Iterate over array of objects in Typescript

我需要以角度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)

您可以對數組使用內置的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
}

在Typescript和ES6中,您還可以使用for..of:

for (var product of products) {
     console.log(product.product_desc)
}

將被轉碼為javascript:

for (var _i = 0, products_1 = products; _i < products_1.length; _i++) {
    var product = products_1[_i];
    console.log(product.product_desc);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM