Нужно сделать concat с помощью reduce
const concat = (array, elementToBeAdded) => {
return array.reduce((function(previous, current) {
return previous + current
}, `${elementToBeAdded}`));
}
const cat = concat(['a','b'], 'c');
console.log(cat);
выводит в консоль ошибку: TypeError: c is not a function
Ответы (2 шт):
Автор решения: entithat
→ Ссылка
У Вас были лишние скобки в функции array.reduce((...)).
const concat = (array, elementToBeAdded) => {
return array.reduce((previous, current) => {
return previous + current;
}, elementToBeAdded);
}
const cat = concat(['a','b'], 'c');
console.log(cat);
Автор решения: Grundy
→ Ссылка
Из-за лишних круглых скобок
array.reduce((function(previous, current) {...}, `...`));
, запятая внутри них рассматривалась не как разделитель аргументов функции, а как оператор запятая
Результатом применения этого оператора становилась строка `${elementToBeAdded}`
И именно эта строка передавалась в качестве аргумента функции reduce. Как следствие - указанная ошибка.
Для решения достаточно убрать лишние скобки.