2016-01-18 3 views
0

В следующем коде создается Document. После того, что закончил он ищет все документы и толкать их в список под названием this.documents:Как назначить результат цикла _.each переменной?

store.create(document).then(() => { 
    store.find().then((results) => { 
    this.documents = [] 
    _.each(results, (result) => { 
     this.documents.push(result.toJSON()) 
    }) 
    }) 
}) 

Он отлично работает. Но я подумал, что, вместо того, толкая элементов в список, я мог бы напрямую назначить петлю _.each в переменную:

store.create(document).then(() => { 
    store.find().then((results) => { 
    this.documents = _.each(results, (result) => { 
     return result.toJSON() 
    }) 
    console.log(this.documents) 
    }) 
}) 

console.log(this.documents), хотя не выводит отдельные элементы, но это:

[ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass, ParseObjectSubclass]

Каков правильный способ делать то, что я хочу достичь?

+0

Что относительно '_.map'? –

ответ

3

Я думаю, вы хотите _.map вместо _.each.

+0

Эй, это сработало. Но с 'return' я думал, что' _.map' уже возвращал материал по умолчанию. Почему необходимо добавить 'return'? – alexchenco

+1

@alexchenco Я угадываю его из-за функции лямбда/стрелки es6. –

+0

@alexchenco: тело вашей функции стрелки является блоком, вам нужно явно вернуться. Если это выражение, вам не нужно «возвращать». –

Смежные вопросы