Avatar ·

Comment travailler avec les chaînes de caractères en JavaScript ?

Bonjour à tous ! Je travaille avec Node.js et j'ai rencontré un problème de traitement des chaînes. Je dois implémenter une fonction qui prend un tableau de chaînes et retourne une sortie formatée : concaténer les chaînes avec une virgule, mais le dernier élément doit être séparé par la conjonction "et". Par exemple : ['pomme', 'banane', 'orange'] → 'pomme, banane et orange'.

J'ai essayé d'utiliser Array.prototype.join(', '), mais il ajoute une virgule avant le dernier élément, alors qu'il faut la remplacer par " et". J'ai tenté d'écrire manuellement une boucle for avec une vérification d'index, mais le code devient lourd et ne gère pas les cas limites (tableau vide, un seul élément).

Voici mon code actuel :

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 += ' et ' + arr[i];
    } else {
      result += arr[i] + ', ';
    }
  }