как создать словарь словарей в Javascript - PullRequest
0 голосов
/ 09 марта 2020

В python можно создать словарь словарей

  mainDict = {}
  mainDict[subDict][subDict_Key1]=[subDict_value1]

Я хочу создать аналогичный словарь словарей или массив словарей в Javascript. Я проверил несколько тем на SO, но еще никого не нашел. Я пока не знаю словари, они будут добавляться динамически. Например, я хочу иметь возможность создать

var mainDict = {}

, а затем добавить dict1,2,3 ... ниже

Dict1 = {name: sam, age:26, city:NY}

в mainDict, чтобы я мог выполнять итерации mainDict и получить весь словарь с соответствующими ключами и значениями

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

1 Ответ

0 голосов
/ 09 марта 2020

Сначала вам нужно создать"под-словарь", прежде чем присваивать ему значения:

var mainDict = {}
mainDict[subDict] = {} // This was missing
mainDict[subDict][subDict_key1] = subDict_value1

Конечно, если значения stati c, это может быть сделано более кратко:

var mainDict = {
  dict1: {
    name: 'sam',
    age: 26,
    city: 'NY'
  },
  dict2: {
    name: 'joe',
    age: 27,
    city: 'LA'
  }
}

console.log(mainDict.dict2.name) // joe

Затем вы можете перебирать внутренние словари, когда вы будете sh:

for (const key in mainDict) {
  console.log(`${key} has name ${mainDict[key].name}`)
}

... или, альтернативно:

for (const [key, subDict] of Object.entries(mainDict)) {
  console.log(`${key} has name ${subDict.name}`)
}
...