Tengo una función como la siguiente que encuentra un elemento particular en una matriz de objetos y lo actualiza:
async update(id, attrs){ const records = await this.getAll(); const record = records.find(record => record.id === id); Object.assign(record, attrs); await this.writeAll(records); }Me sorprendió entender que el método de búsqueda devuelve una referencia al elemento coincidente en la matriz de registros, mientras que esperaba que la variable de registro solo contuviera el valor y cambiarlo no haría que la matriz de registros original se actualizara.
Entonces mi pregunta es, ¿qué pasa si solo quiero recuperar el valor de una matriz de objetos pero no una referencia al elemento real? es decir, necesito poder actualizar el valor devuelto sin mutar la matriz original.