Quiero eliminar el tercer objeto de una matriz en la que el color es rojo. Quiero eliminarlo usando el índice ya que algunos objetos pueden no tener un atributo _id y otros atributos no son únicos entre ellos.
[ { color: "BLUE" imageURL: "/uploads/image-1639632524718.png" inStock: 4 _id: "61b9bff23b027548ed2f737e" }, { color: "green" imageURL: "/uploads/image-1639561204805.png" inStock: 6 _id: "61ba098f3b027548ed2f737f" }, { color: "Red" imageURL: "/uploads/image-1639647424471.png" inStock: 6 }, { color: "Star Light" imageURL: "/uploads/image-1639650244179.png" inStock: 60 } ]Después de eliminar la matriz de objetos, se verá como.
[ { color: "BLUE" imageURL: "/uploads/image-1639632524718.png" inStock: 4 _id: "61b9bff23b027548ed2f737e" }, { color: "green" imageURL: "/uploads/image-1639561204805.png" inStock: 6 _id: "61ba098f3b027548ed2f737f" }, { color: "Star Light" imageURL: "/uploads/image-1639650244179.png" inStock: 60 } ]¿Cómo puedo hacer esto?
esta función splice hace eso
algunaMatriz.empalme(índice, 1)
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
Use el método Array.splice() para eliminar el elemento de la posición especificada.
const list = [ { color: "BLUE", imageURL: "/uploads/image-1639632524718.png", inStock: 4, _id: "61b9bff23b027548ed2f737e" }, { color: "green", imageURL: "/uploads/image-1639561204805.png", inStock: 6, _id: "61ba098f3b027548ed2f737f" }, { color: "Red", imageURL: "/uploads/image-1639647424471.png", inStock: 6 }, { color: "Star Light", imageURL: "/uploads/image-1639650244179.png", inStock: 60 } ]; const remove = (arr, index) => arr.splice(index, 1); remove(list, 2); console.log("list after removal: ", list);(Una vez que haya arreglado su estructura de datos, no es una matriz y le faltan las comas...)
Puede filter todos aquellos objetos que no se encuentran en ese índice.
const data=[{color:"BLUE",imageURL:"/uploads/image-1639632524718.png",inStock:4,_id:"61b9bff23b027548ed2f737e"},{color:"green",imageURL:"/uploads/image-1639561204805.png",inStock:6,_id:"61ba098f3b027548ed2f737f"},{color:"Red",imageURL:"/uploads/image-1639647424471.png",inStock:6},{color:"Star Light",imageURL:"/uploads/image-1639650244179.png",inStock:60}]; const out = data.filter((obj, i) => i !== 2); console.log(out);