2017-02-22 68 views
1

У меня есть фрагмент кода, как это:Foreach выходной магазин в переменную и доступ вне анонимной функции

tg.router._routes.forEach(function(entry){ 
console.log(entry._commands[0]._textPattern) 
}); 

Поскольку внутри объекта (entry._commands [0] ._ TextPattern) являются три элемента, console.log будет называть три раза.

Как сохранить «entry._commands [0] ._ textPattern» в переменную (может быть массив) и использовать переменную позже вне функции анонима?

Мне нужен другой вариант, потому что я не буду передавать вывод forEach позже все сразу обработчику.

ответ

4

Вы можете попробовать использовать map:

const something = tg.router._routes.map(entry => entry._commands[0]._textPattern); 
+0

, как показано на рисунке, это не будет делать ровно ничего ... конечно, не должно быть 'вар что-то =' перед этим кодом: р –

+0

верно; добавлен 'const', так как есть тег ES6 :) –

+0

Кто-то вроде бы объяснил мне, в чем разница между моим решением и этим? И почему он претендует на лучшее решение, чем мое? –