Necesito iterar sobre la matriz de objetos en angular 2 y limitar la visualización de la longitud de la cadena para una clave particular en el objeto.
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'); } }}); }
Necesito limitar la longitud de prod_desc a (digamos) 10 caracteres mientras visualizo lo que he usado:
P.ej:
this.product_desc.substring(0,10)Puede usar la función forEach incorporada para matrices.
Me gusta esto:
//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); });Sin embargo, su versión no estaba equivocada. Debería verse más como esto:
for(let i=0; i<data.products.length; i++){ console.log(data.products[i].product_desc); //use i instead of 0 }En Typescript y ES6 también puede usar para... de:
for (var product of products) { console.log(product.product_desc) }que se transcodificará a javascript:
for (var _i = 0, products_1 = products; _i < products_1.length; _i++) { var product = products_1[_i]; console.log(product.product_desc); }