Avatar ·

¿Cómo eliminar duplicados de un array en JavaScript? Las formas más eficientes

¡Hola a todos! Soy nuevo en JavaScript y me encontré con esta tarea: tengo un array con números que tiene muchos valores repetidos. Necesito dejar solo los elementos únicos. Por ejemplo, tengo el array `[1, 2, 2, 3, 4, 4, 5]` y quiero obtener `[1, 2, 3, 4, 5]`. Intenté escribir mi propia función, pero no funciona correctamente: elimina no todos los duplicados o incluso rompe el array. Aquí está mi código: ```javascript function removeDuplicates(arr) { for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j < arr.length; j++) { if (arr[i] === arr[j]) { arr.splice(j, 1); } } } return arr; } ``` El problema es que después de `splice` los índices se desplazan y me salto algunos elementos. Además, creo que esta solución es demasiado lenta para arrays grandes. Por favor, indíquenme cuáles son las formas modernas y eficientes de eliminar duplicados. Me interesan soluciones tanto para tipos simples (números, strings).