Estoy tomando datos de mi backend de esta manera simple
this.archiveService.getRooms(team).subscribe( res => { this.form = res; this.form.forEach(el => { el.reservation.slice(-6).match(/.{1,2}/g).join('/'); }); }, error => { console.log(error); } ) this.form es un objeto. Obtengo el número de reserva del formulario, luego quiero dividir todo lo que no quiero. (La expresión regular funciona bien). Luego quiero asignar este valor preparado en mi this.form y luego uso *ngFor en la tabla
¿Cómo puedo asignar cada valor de forEach loop a this.form?
Como se lee en la documentación, el método js slice
Devolver Una nueva matriz que contiene los elementos extraídos.
De hecho, los métodos de división no modifican el elemento actual de la matriz.
Para resolver su problema, puede usar los métodos de splice que funcionan de la siguiente manera:
El método splice() cambia el contenido de una matriz eliminando o reemplazando elementos existentes y/o agregando nuevos elementos en su lugar. Para acceder a parte de una matriz sin modificarla, consulte slice().
this.form.forEach(el => { el.reservation.splice(-6).match(/.{1,2}/g).join('/'); }); O reasignar el valor usando el método de slice
this.form.forEach(el => { el.reservation = el.reservation.slice(-6).match(/.{1,2}/g).join('/'); }); const myArr = [1,2,3,4,5,6,7,8,9,10] const returnVal = myArr.slice(0,5) console.log(`val return by slice : ${returnVal}`) console.log(`current arr : ${myArr}`) console.log('------------------') const myArr2 = [1,2,3,4,5,6,7,8,9,10] const returnVal2 = myArr2.splice(0,5) console.log(`val return by splice : ${returnVal2}`) console.log(`current arr : ${myArr2}`)La propuesta de .foreach() no sirve para lo que desea.
Sin embargo, si sientes que la vida es bastante ordinaria y quieres hacer algún avance. La comprobación está fuera de Array.prototype.forEach()