2015-09-11 3 views
0

У меня есть следующий код:Javascript - Массив элемента объектов

offers.makeOffer ({ 
     partnerSteamId: steam_id.toString(), 
     accessToken: token.toString(), 
     itemsFromMe: [ 
      { 
       appid: 730, 
       contextid: 2, 
       amount: 1, 
       assetid: checkedItems[i].id 
      } 
     ], 
     itemsFromThem: [] 
     }, function(err, response) { 
     if (err) { 
      throw err; 
     } 
}); 

itemsFromMe раздел содержит следующее:

itemsFromMe: [ 
    { 
     appid: 730, 
     contextid: 2, 
     amount: 1, 
     assetid: checkedItems[i].id 
    } 
] 

Однако мне нужен способ, чтобы построили это на основе checkedItems.length, например (Очевидно, что этот пример не будет работать, но он демонстрирует мой желаемый результат):

offers.makeOffer ({ 
     partnerSteamId: steam_id.toString(), 
     accessToken: token.toString(), 
     itemsFromMe: [ 
      for (var i = 0; i < checkedItems.length: i++) { 
       { 
        appid: 730, 
        contextid: 2, 
        amount: 1, 
        assetid: checkedItems[i].id 
       } 
      } 
     ], 
     itemsFromThem: [] 
     }, function(err, response) { 
     if (err) { 
      throw err; 
     } 
}); 

Как мне это сделать?

+1

Вы можете сделать itemsFromMe функцию, которая либо выполняется один раз, когда создается объект, или может быть выполнен когда и возвращают последние проверенные элементы. – lintmouse

ответ

1

Вы можете просто использовать сразу вызывается функция:

var o = { 
    items: (function() { 
     var a = []; 
     for (var i = 0; i < 5; i++) { 
      a.push(i); 
     } 
     return a; 
    }()) 
} 
0

Вы можете сделать:

itemsFromMe: (function() { 
    return checkedItems.map(function(item) { 
     return { 
      appid: 730, 
      contextid: 2, 
      amount: 1, 
      assetid: item.id 
     } 
    }) 
})() 
+0

Есть ли проблема с синтаксисом? получив следующую ошибку: '})() ^ SyntaxError: Неожиданный токен}' – user3662307

+0

@ user3662307 - Да, черт возьми, одна секунда. – tymeJV

+0

@ user3662307 - Fixed это .. отсутствует ')' в конце '.map' функции – tymeJV

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