Как передать несколько параметров в цепочку подчеркивания JS?

Я пытался читать документы, и я мог что-то упустить, но в основном я просто хочу передать дополнительный аргумент в цепочечный метод underscoreJS для использования в процессе отображения:

function(list, flag) {
  return _.chain(list)
          .filter(firstMethod)
          .map(secondMethod, flag) // I want to pass in the flag to this function
          .value();
}

Имеет ли это смысл? Я предполагаю, что мне может понадобиться использовать другой метод подчеркивания в сочетании с этим, но я не уверен, какой!

1 ответ

Решение

Вы должны использовать bind для достижения этой цели. Он создаст новую функцию, привязанную к экземпляру по вашему выбору (первый параметр), которая будет вызываться с аргументами, данными после экземпляра:

function(list, flag) {
  return _.chain(list)
    .filter(firstMethod)
    .map(secondMethod.bind(this, flag))
    .value();
}
Другие вопросы по тегам