Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

449
Vistas
findLastIndex () no funciona en FireFox, Javascript

Tengo una matriz de objects duplicados.

Tengo que encontrar siempre el último duplicado y eliminarlo de la array .

En Chrome, uso findLastIndex para obtener el índice y eliminarlo. Lamentablemente, FireFox no es compatible con esa función.

¿Alguna otra idea de cómo obtener el último índice del objeto duplicate en la array , de manera simple?

(para encontrar mi object , uso el name: string , no tengo identificación, por eso necesito el índice.

Ya he intentado usar myArr.lastIndexOf(myArr.find((item) => item.name == itemName)); pero no funciona

Aquí hay un ejemplo de matriz:

 [{ imgSource: "/sushi/test2.png" ingredients: "Nori, Cucumber, Rice, Cream cheese, Sesame, Unagi sauce" name: "sushi1" price: 133 weight: 120 }, { imgSource: "/sushi/test2.png" ingredients: "Nori, Cucumber, Rice, Cream cheese, Sesame, Unagi sauce" name: "sushi1" price: 133 weight: 120 }, { imgSource: "/sushi/test3.png" ingredients: "Rice, Cream cheese, Sesame" name: "sushi3" price: 150 weight: 100 } ]

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

findLastIndex no es una función js, pero creo que lo que intentas hacer es algo como esto:

 let arr = [ { imgSource: "/sushi/test2.png", ingredients: "Nori, Cucumber, Rice, Cream cheese, Sesame, Unagi sauce", name: "sushi1", price: 133, weight: 120, }, { imgSource: "/sushi/test2.png", ingredients: "Nori, Cucumber, Rice, Cream cheese, Sesame, Unagi sauce", name: "sushi1", price: 133, weight: 120, }, { imgSource: "/sushi/test3.png", ingredients: "Rice, Cream cheese, Sesame", name: "sushi3", price: 150, weight: 100, }, ]; let lastIndex = arr.lastIndexOf(arr.reverse().find(ele=>ele.name=="sushi1")) console.log(lastIndex)

tenga en cuenta que utilicé la función reverse() para find() porque necesita la última.

nota adicional: estos objetos duplicados no son los mismos desde el punto de vista == o === , ya que los operadores de control de calidad de los objetos comprueban las referencias y no el valor real

about 4 years ago · Juan Pablo Isaza Denunciar

0

Finalmente encontré una solución para mi respuesta, gracias a Mohamad ali ghorbani, logré encontrar la manera correcta de hacerlo.

Así es como obtuve mi último índice:

 const nameArray = myCart.map((item) => item.name); const indexOfItem = nameArray.lastIndexOf(itemName); myCart.splice(indexOfItem, 1);
about 4 years ago · Juan Pablo Isaza Denunciar

0

No hay findLastIndex en JS

Puedes hacer un conjunto

 let arr = [{ imgSource: "/sushi/test2.png", ingredients: "Nori, Cucumber, Rice, Cream cheese, Sesame, Unagi sauce", name: "sushi1", price: 133, weight: 120 }, { imgSource: "/sushi/test2.png", ingredients: "Nori, Cucumber, Rice, Cream cheese, Sesame, Unagi sauce", name: "sushi1", price: 133, weight: 120 }, { imgSource: "/sushi/test3.png", ingredients: "Rice, Cream cheese, Sesame", name: "sushi3", price: 150, weight: 100 } ] const mySet = new Set() arr.forEach(item => mySet.add(JSON.stringify(item))) const newArr = Array.from(mySet).map(entry => JSON.parse(entry)) console.log(newArr)

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda