Tengo un objeto debajo
multiSpaceIdentityInformation = { roomNumber: "N/A" spaceNumber: "L1-008-5, L4-003, L1-009" spaceName: "Space, STUDIO, LOBBY" }Estoy buscando representar esto con información enumerada como esta a continuación
const identityData = [ { label: 'Room Number', value: multiSpaceIdentityInformation.roomNumber }, { label: 'Space Info', value: `${multiSpaceIdentityInformation.spaceNumber} - ${multiSpaceIdentityInformation.spaceName}` } ]; return ( <Descriptions size="small" column={1} title="Identity"> {identityData.map(({ label, value }) => ( <Item key={label} label={<Text strong>{label}</Text>}> {value} </Item> ))} </Descriptions> );Lo que estoy tratando de representar en la cadena de etiquetas spaceInfo se ve así
L1-008-5 - Space, L4-003- STUDIO, L1-009 - LOBBY
Pero con el código anterior para la Space Info, se está imprimiendo así a continuación
L1-008-5, L4-003 - Space, STUDIO ... y no estoy seguro de dónde me equivoqué con el código anterior, y alguien podría sugerirme alguna idea de dónde sale mal.
Muchas gracias de antemano
Aprovechando la otra respuesta, con una construcción diferente (creo que más simple), y produciendo el resultado deseado sin espacios dobles dentro:
let m = { rnum: "N/A", snum: "L1-008-5, L4-003, L1-009", sn: "Space, STUDIO, LOBBY" }; let snumA=m.snum.split(','); let snA=m.sn.split(','); console.log( snumA.map((item,idx)=>`${item} - ${snA[idx].trim()}`).join() );¿Esperas algo así?
let m = { rnum: "N/A", snum: "L1-008-5, L4-003, L1-009", sn: "Space, STUDIO, LOBBY" }; let snumA=m.snum.split(','); let snA=m.sn.split(','); console.log( snumA.reduce((r,i,idx)=>{ r=`${r}${idx!==0 ? ',' : ''}${i} - ${snA[idx]}` return r; },'') )