Я нахожу метод Array.prototype.join()
очень полезным при построении строк из массивов, например
"one two three".split(' ').join(', ');
Но очень часто я хочу создать такую строку:
"one, two and three"
Используемый метод:
var parts = "one two three".split(' ');
parts.slice(0, parts.length-1).join(', ') + ' and ' + parts.slice(-1)
Это генерирует то, что я хочу, однако это уродливое решение, которое я должен внести в отдельную функцию.
Я обожаю один лайнер и считаю, что для выполнения этой задачи в JS должен быть более элегантный однострочный динамик. Может ли кто-нибудь предоставить мне один?
ИЗМЕНИТЬ
Пожалуйста, не нужно комментировать, что плохо написана нечитаемый код. Я прошу одного!:) Я многому научился у одного лайнера о языковых конструкциях, и поэтому у меня есть ситуация, когда я вижу возможность для одного. Без обид.
ОКОНЧАТЕЛЬНОЕ ИЗОБРАЖЕНИЕ Я ценю ответ Pavlo, поскольку он действительно показывает, насколько легко один лайнер может стать красивым читаемым кодом. Поскольку я просил один вкладыш, так как по моему вопросу h2ooooooo получает самый высокий балл.