Avatar ·

¿Cómo trabajar con strings en JavaScript?

¡Hola a todos! Trabajo con Node.js y me encontré con un problema al procesar strings. Necesito implementar una función que tome un array de strings y devuelva una salida formateada: unir los strings con coma, pero el último elemento debe separarse con la conjunción "y". Por ejemplo: ['manzana', 'banana', 'naranja'] → 'manzana, banana y naranja'.

Intenté usar Array.prototype.join(', '), pero añade una coma antes del último elemento, y necesito reemplazarla por " y". Traté de escribirlo manualmente con un bucle for verificando el índice, pero el código queda voluminoso y no maneja casos extremos (array vacío, un solo elemento).

Aquí está mi código actual:

function formatList(arr) {
  if (arr.length === 0) return '';
  if (arr.length === 1) return arr[0];
  let result = '';
  for (let i = 0; i < arr.length; i++) {
    if (i === arr.length - 1) {
      result += ' y ' + arr[i];
    } else {
      result += arr[i] + ', ';
    }
  }
}