Array#join(separator)
, но чтобы на выходе получался массив, а не строка.Например:
[1, 2, 3] => [1, 'sep', 2, 'sep', 3]
Естественно, задачка очень проста и решается кучей различных способов. Моей проблемой является не нахождение решения, а поиск его наиболее элегантного варианта.
Я перепробовал массу вариантов, но постоянно внутренний мир был недоволен. Хотелось, конечно, сделать в функциональном стиле, но красиво не вышло.
Совесть замолчала на следующей конечной реализации:
function insertSeparator(array, separator) { var index = array.length - 1; while (index) array.splice(index--, 0, separator); return array; }
Можно легко переделать как на расширение прототипа, так и на неразрущающий вариант.
А как выглядит элегантное решение на вашем языке?
Хорошего дня!