En, por ejemplo, Python, si tenemos un conjunto, podemos llamar a set.pop() y eliminará un valor del conjunto y lo devolverá.
Estoy trabajando en una pregunta de algoritmos en JS donde necesito hacer esto. Pero no parece haber una forma de hacerlo, ya que la función set.delete() espera un valor y no tengo acceso a los valores. ¿Hay un trabajo fácil alrededor?
Puede iterar sobre los valores. (Sería más rápido que convertirlo en una matriz).
function deleteRandomElement(set) { if (set.size > 0) { const randomIndex = Math.floor(Math.random()*set.size); let i = 0; for(const value of set) { if(i === randomIndex) { set.delete(value); break; } i++; } } }