Показать сообщение отдельно
  #1 (permalink)  
Старый 11.05.2022, 16:32
Аспирант
Отправить личное сообщение для dc65k Посмотреть профиль Найти все сообщения от dc65k
 
Регистрация: 19.05.2020
Сообщений: 46

Как правильно передать параметры в pipe?
Всем привет. Подскажите, пожалуйста, как на основании статьи:
https://www.freecodecamp.org/news/pi...-5b04004ac937/
правильно изменить функцию pipe, чтобы можно было передавать в передаваемые функции аргументы?
console.log(pipe(getName, upperCase, getNumChars(3), reverse)(igor)); // Error


const igor = {
    name: 'igor',
}

const getName = person => person.name;

const upperCase = str => str.toUpperCase();

const get3Chars = str => str.substring(0, 3);
const getNumChars = (str, n) => {
    // console.log('str', str)
    // console.log('n', n)

    return str.substring(0, n)
}

const reverse = str => str.split('').reverse().join('');

// Solution
const pipe = (...fns) => init => fns.reduce((value, f) => f(value), init);

const fn = pipe(getName, upperCase, get3Chars, reverse);
console.log(fn(igor)); // OGI

console.log(pipe(getName, upperCase, get3Chars, reverse)(igor)); // OGI
console.log(pipe(getName, upperCase, getNumChars(3), reverse)(igor)); // Error
Ответить с цитированием