Necesito tomar serviceType de mi matriz y convertirlo al siguiente diseño manteniendo solo los valores únicos.
[ { "Etiqueta": "Autos ahora" "Valor": "Autos ahora" }, { "Etiqueta": "Vans ahora" "Valor": "Vans ahora" }, ]
Tengo los valores únicos a continuación, pero no puedo encontrar la forma de convertirlo al diseño que necesito.
const inputArray = [ { "serviceType": "Cars Now", "applictionType": "Direct", "wheelType": "4x4" }, { "serviceType": "Cars Now", "applictionType": "web", "wheelType": "2x4" }, , { "serviceType": "Vans Now", "applictionType": "Direct", "wheelType": "2x4" } ] let tempArr = inputArray.map(row => row.serviceType) // map extracts the serviceType .filter(service => service); // filter removes any undefined/empty values newServiceSet = [...new Set(tempArr)] // only keeps unique values console.log(newServiceSet)
Convierta el conjunto de serviceType
s en una matriz de cadenas, luego asigne para convertir cada cadena en un objeto. También debe filtrar el espacio vacío en la matriz.
const inputArray = [ { "serviceType": "Cars Now", "applictionType": "Direct", "wheelType": "4x4" }, { "serviceType": "Cars Now", "applictionType": "web", "wheelType": "2x4" }, , { "serviceType": "Vans Now", "applictionType": "Direct", "wheelType": "2x4" } ]; const serviceTypes = new Set(inputArray.filter(Boolean).map(({ serviceType }) => serviceType)); const output = [...serviceTypes].map(label => ({ label, value: label })); console.log(output);