Estoy tratando de generar una cadena como "El equipo 1 tiene los siguientes empleados: Joe, Mark y John. El equipo 2 tiene los siguientes empleados: Lauren, Conrad y Sumeet". Tengo el siguiente objeto:
const teamInfo = { teams: { team1: ['Joe', 'Mark', 'John'], team2: ['Lauren', 'Conrad', 'Batman'], }, }Probé lo siguiente, que produce algo que se parece a lo que quiero, pero dado que la salida contiene objetos, no puedo personalizar la sección de la salida que enumera los nombres. Por ejemplo, no puedo hacer que diga "El equipo 1 incluye a Joe, Mark Y John. Y el equipo 2 incluye a Lauren, Conrad y Batman".
let infoString = ""; for (const [team, employees] of Object.entries(teamInfo.teams)) { infoString += ` ${team} employees include: ${employees}. `; } console.log(infoString)¿Cómo logro esto sin usar métodos rápidos o más intermedios/avanzados? Básicamente, quiero poder hacerlo con JS básico usando bucles, Object.entries/keys/values en lugar de atajos rápidos.
También probé varias permutaciones de bucles sobre la matriz de empleados y anidando otro bucle dentro de él, pero eso tiene problemas obvios. Otro intento estuvo cerca, pero salió tres veces, en lugar de todas a la vez.
No buscando solo una solución; pero algunos consejos.
Gracias
Dentro del bucle for , puede crear una copia de los empleados sin el último elemento, unirla con una coma y luego concatenar 'and' y el nombre del último empleado:
const teamInfo = { teams: { team1: ['Joe', 'Mark', 'John'], team2: ['Lauren', 'Conrad', 'Batman'], }, } let infoString = ""; for (const [team, employees] of Object.entries(teamInfo.teams)) { infoString += ` ${team} employees include: ${employees.slice(0, -1).join(', ')} and ${employees[employees.length - 1]}\n`; } console.log(infoString)