Me pregunto cuál es la forma más eficiente de actualizar una propiedad de objeto que se almacena en una matriz con más de 10k elementos.
Por ejemplo, si tengo una matriz que contiene objetos como este {nombre:"", precio:"")
Quiero reemplazar o más bien actualizar los valores de precio si la matriz ya contiene ese elemento.
Verifique si Array contiene un objeto con nombre = x, si es así, reemplace el precio con el precio más nuevo.
No quiero tener elementos duplicados en esa matriz para que no se vuelva demasiado grande, pensé que debería actualizarlo si ya existe un valor de propiedad en él.
Hasta ahora, he probado varias formas, como usar indexOf, splice o simplemente for loops. Me pregunto cuál es la mejor manera en cuanto al rendimiento para lidiar con grandes arreglos.
let array = [ {name:"abc", price: 24}, {name:"cde", price: 25}, {name:"fgh", price: 22}, {name:"gfds", price: 21}, ] function addToArray(elem){ //check if array contains elem by checking for name property value if(array.filter(el => el.name === elem.name).length > 0){ //update the array element that has the name of the passed elem } }