Я хочу преобразовать массив ['one', 'two', 'three', 'four']
в one, two, three and four
Обратите внимание, что первые элементы имеют запятую, и, но есть слово and
между предпоследними один и последним.
Лучшее решение, которое я придумал:
a.reduce( (res, v, i) => i === a.length - 2 ? res + v + ' and ' : res + v + ( i == a.length -1? '' : ', '), '' )
Он основан на добавлении запятых в конце - за исключением второго последнего (a.length - 2
) и способа избежать последней запятой (a.length - 2
).
ОБЯЗАТЕЛЬНО должен быть лучший, аккуратный, более разумный способ сделать это?
Это сложная тема для поиска в поисковых системах, потому что она содержит слово "и"...