Я пытался реализовать несколько функций более высокого порядка самостоятельно.Просто для удовольствия.
Сегодня, однако, я застрял при попытке воспроизвести метод Array.join.
Я поставил перед собой задачу не использовать какие-либо циклы, такие какfor
или while
, используйте как можно меньше if
операторов и уменьшите количество используемых переменных.
Ниже моя попытка:
Array.prototype.implode = function(glue) {
return (function loop(arr, str) {
return (arr.length > 1
? loop(arr.slice(0, 1), str + arr[0] + (glue || ''))
: str);
})(this, '');
};
const arr = ['a', 'b', 'c', 'd', 'e', 'f'];
console.log(arr.implode('#')); // a#