Encontre e substitua o hash específico e seus valores na matriz
Qual é o método mais eficiente para encontrar hash específico na matriz e substituir seus valores no local, para que a matriz também seja alterada?
Eu tenho esse código até agora, mas em um aplicativo do mundo real com muitos dados, isso se torna a parte mais lenta do aplicativo, o que provavelmente vaza memória, pois a memória ilimitada cresce constantemente quando eu executo essa operação em cada mensagem do websocket.
array =
[
{ id: 1,
parameters: {
omg: "lol"
},
options: {
lol: "omg"
}
},
{ id: 2,
parameters: {
omg: "double lol"
},
options: {
lol: "double omg"
}
}
]
selection = array.select { |a| a[:id] == 1 }[0]
selection[:parameters][:omg] = "triple omg"
p array
# => [{:id=>1, :parameters=>{:omg=>"triple omg"}, :options=>{:lol=>"omg"}}, {:id=>2, :parameters=>{:omg=>"double lol"}, :options=>{:lol=>"double omg"}}]