В JavaScript, как использовать номер итератора цикла для создания уникальных ключей свойств объекта?

В исходной спецификации C для возвращаемого значения требуются скобки. В то время как современные компиляторы C и стандарт ANSI C их не требуют, наличие круглых скобок не влияет на возвращаемое значение и программисты иногда по-прежнему включают их по привычке, незнанию со стандартами, для соответствия стилистическому соглашению, которое их требует, или, возможно, для обратной совместимости.

0
задан Damodog 19 March 2019 в 17:24
поделиться

3 ответа

let slotObj = {};
let slotId = 'slot1' // hardcoded for SO but this is populated via a parent for loop so would be slot2, slot3 etc
slotObj[slotId] = {};

for (let i = 0; i < assetList.length; i++) {

    let assetItem = assetList[i];

    slotObj[slotId]['slotContent'+i] = 
    { // <-- how to make this unique using iterator ie. slotContent0, slotContent1 etc...
        'templateNo': assetItem.dataset.template,
        'assetId': assetItem.dataset.contentId
    }
}
0
ответ дан Alexey Zelenin 19 March 2019 в 17:24
поделиться

Вы можете использовать шаблонный литерал ;

  slotObj[slotId] = {
      `slotContent${i}`: { // <-- how to make this unique using iterator ie. slotContent0, slotContent1 etc...
          'templateNo': assetItem.dataset.template,
          'assetId': assetItem.dataset.contentId
      }
  }

0
ответ дан Lewis 19 March 2019 в 17:24
поделиться

Вы можете использовать квадратную скобку для генерации ключа:

    slotObj[slotId] = {
        ['slotContent' + i]: { // <-- made unique using iterator ;)
            'templateNo': assetItem.dataset.template,
            'assetId': assetItem.dataset.contentId
        }
    }
0
ответ дан Mattias Martens 19 March 2019 в 17:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: