Передать функцию с вложенной функцией и текущее значение с array.map

1

Я пытаюсь использовать array.map, но у меня есть проблема, передающая текущее значение массива, проходящего через функцию.

Мой массив - это массив объектов.

Я хочу запустить функцию toNodes для каждого объекта.

toNodes принимает аргумент строки HTML, который возвращается из другой функции singleTemplate

singleTemplate также принимает аргумент, который должен быть текущим объектом.

Поэтому на данный момент я запускаю следующее, но я не передаю необходимый объект в функцию singleTemplate, поэтому он не определен.

array.map(toNodes(singleTemplate(obj)))

obj не существует, хотя... что я помещаю в параметры для singleTemplate для передачи текущего объекта с карты?

Теги:
arrays

2 ответа

4
Лучший ответ

Массив # map ожидает функцию, и вы передаете ей результаты своих функций.

Вместо этого используйте анонимную функцию (или функцию стрелки):

array.map(function(obj) {
  return toNodes(singleTemplate(obj));
})
  • 0
    Спасибо! Это имеет смысл и помогает мне понять, что я делал неправильно, передавая IRT результат, а не функцию :)
  • 0
    @Francesca - добро пожаловать :)
3

Одна строка для решения проблемы:

array.map(obj => toNodes(singleTemplate(obj)))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню