Así que estaba atascado en un error en mi aplicación React (soy nuevo en reaccionar y JS en general) donde quería filtrar una lista de nombres de empresas para que todos fueran únicos y no se repitieran. Entonces, al tener acceso a github copilot, lo encendí y salió una solución que funcionó, pero no tengo idea de por qué o qué está haciendo. Si alguien pudiera ayudarme?
useEffect(() => { const companyNames = data.map(app => app.companyName); const uniqueCompanies = [...new Set(companyNames)]; setCompanies(uniqueCompanies); },[data]);No entiendo cómo [... new Set (companyNames)] filtra los nombres únicos o lo que está sucediendo. Según tengo entendido, solo puede usar el operador de propagación en una matriz que ya existe, por lo que tampoco sabía de dónde venía la nueva.
La expresión const uniqueCompanies = [...new Set(companyNames)]; contiene las siguientes propiedades interesantes:
[] es un literal de matriznew Set(companyNames) un nuevo conjunto de JavaScript que puede contener solo valores únicos por diseño, proporcionando el filtrado "listo para usar".... El operador de distribución de matriz aquí distribuirá Set to Array, convirtiendo así de manera efectiva Set to Array .