Tengo la siguiente matriz de objetos, quiero recorrerla y filtrar según la identificación o el código que paso a la función.
state.products = [{id = 1, name = Bottle},{id = 2, name = umbrella}, {id = 3, name = shoe}] const getVal = (id)=> { const av = state.products.filter((s) s.productId == id) }¿Lo siguiente no parece iterar a través de la matriz y verificar cada objeto? Obtengo una matriz vacía para console.log (av)
Está en el camino correcto, pero no está utilizando Array.filter correctamente.
Y también la matriz de objetos proporcionada no está en un buen formato. El objeto debe estar en un par key:value .
state.products = [ { id: 1, name: "Bottle" }, { id: 2, name: "umbrella" }, { id: 3, name: "shoe" } ] const getAllArrayExcept = (id) => { // this will return all the array except provided id return state.products.filter((s) => s.id !== id) } const getOnlyArray = (id) => { // this will return only item which match the provided id return state.products.filter((s) => s.id === id) } console.log(getAllArrayExcept(1)) /* output: [{ id = 2, name = umbrella }, { id = 3, name = shoe }] */ console.log(getOnlyArray(1)) /* output: [{ id = 1, name = Bottle }] */Aquí está el fragmento de trabajo:
const products = [ { id: 1, name: "Bottle" }, { id: 2, name: "umbrella" }, { id: 3, name: "shoe" } ] const getAllArrayExcept = (id) => { // this will return all the array except provided id return products.filter((s) => s.id !== id) } const getOnlyArray = (id) => { // this will return only item which match the provided id return products.filter((s) => s.id === id) } console.log("All array except: ", getAllArrayExcept(1)) console.log("Only provided item in array: ", getOnlyArray(1))