let library = []; //this stores each objectCada objeto tiene una propiedad llamada 'id' donde se almacena un número, esto representa el índice del objeto en la matriz de la biblioteca. Básicamente, cuando se elimina un objeto de la biblioteca, quiero obtener todos los objetos de la matriz que vienen después del objeto eliminado y menos 1 de la propiedad id.
function updateId(index) { for (let i = index; i <= library.length; i++) { library[i].id - 1; } }Hasta ahora tengo esta función donde el índice del argumento es la posición en la matriz donde se eliminó el objeto. Recibo un error de referencia con esa última línea de código
En lugar de i <= library.length , intente con i < library.length .
Actualmente, esa línea dice "continúe for este bucle siempre que i sea menor o igual que la longitud"... pero recuerde, i (es decir, los índices) están basados en cero, mientras que las longitudes no lo están. Esto significa que en realidad pasarás por donde quieras.
¡Tenga en cuenta que esta es solo una de las muchas formas de resolver esto! Ya casi estás ahí. Hay algunas cosas que su código necesita:
function updateId(library, startingAtIndex) { for (let i = startingAtIndex; i < library.length; i++) { library[i].id -= 1; } return library } things = [{name:'a', id:1},{name:'c', id:3},{name:'d', id:4}] things = updateId(things, 1) console.log(things)