Как работать со строками в JavaScript?
Всем привет! Работаю с Node.js и столкнулся с проблемой обработки строк. Нужно реализовать функцию, которая принимает массив строк и возвращает отформатированный вывод: объединить строки через запятую, но последний элемент должен отделяться союзом "и". Например: ['яблоко', 'банан', 'апельсин'] → 'яблоко, банан и апельсин'.
Пробовал использовать Array.prototype.join(', '), но он добавляет запятую перед последним элементом, а нужно заменить её на " и". Пытался написать вручную через цикл for с проверкой индекса, но код получается громоздким и не учитывает краевые случаи (пустой массив, один элемент).
Вот мой текущий код:
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 += ' и ' + arr[i];
} else {
result += arr[i] + ', ';
}
}
return result;
}Ожидаю, что есть более элегантное решение на JavaScript, возможно, с использованием slice, pop или reduce. Как правильно и кратко реализовать такую форматировку? Заранее спасибо за советы!