Estoy tratando de crear objetos bonitos de matrices, pero esto viene en su lugar.
{ "label": [ "Instagram" ], "value": [ "@username" ] }Entonces, ¿cómo puedo cambiarlo? yo lo que quiero es ser asi
{ "label": "instagram", "value": "@username" },No sé cómo sucedió, pero supongo que fue el resultado de usar formik para definir los valores iniciales de una matriz anidada compleja de strapi. Estaba usando array.map para mapear los objetos. Por lo tanto, tal vez es por eso que estaba tan desordenado.
Entonces, ¿cuál es la solución para esto? ¿Formatear matrices de matrices en objetos? ¿Fusión? ¿Mudado? No tengo idea de cómo se llamaba. Gracias de antemano a cualquiera que responda esto.
(actualizado) Los valores iniciales:
const formik = useFormik({ enableReinitialize: true, initialValues: { name: vendor?.name || '', description: vendor?.description || '', company: { social_media: [ { label: vendor.company?.social_media.map((x) => x.label) || '', value: vendor.company?.social_media.map((x) => x.value) || '' } ] } },Array.map devuelve una matriz si no desea que ningún objeto use Array.foreach
O
Usar [...Array.map()]
label: [...vendor.company?.social_media.map((x) => x.label)] value: [...vendor.company?.social_media.map((x) => x.value)Puede usar for..in y el método de join de matrices
const data = { "label": [ "Instagram" ], "value": [ "@username" ] }; for (let keys in data) { data[keys] = data[keys].join(',') }; console.log(data)