JS: преобразование словаря в список словарей - PullRequest
1 голос
/ 13 июля 2020

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

var dict = {
"key1" : 100,
"key2" : 200,
"key3" : 300
}
var data = [
{"key1" : 100},
{"key2" : 200},
{"key3" : 300}
]

Ответы [ 4 ]

3 голосов
/ 13 июля 2020

Вы можете использовать Object.entries() для преобразования объекта в массив пар ключ-значение. Затем вы можете .map() преобразовать этот массив в массив объектов.

var dict = {
  "key1" : 100,
  "key2" : 200,
  "key3" : 300
}

var data = Object.entries(dict).map(([key, value]) => ({[key]: value}))

console.log(data)
1 голос
/ 13 июля 2020

Вы можете просто объявить переменную для хранения списка и l oop через dict. На каждой итерации сделайте dict из значения ключа и pu sh в списке.

var dict = {
  "key1": 100,
  "key2": 200,
  "key3": 300
}
var data = [];
for (key in dict) {
  var subDict = {}
  subDict[key] = dict[key]
  data.push(subDict)
}
console.log(data)
1 голос
/ 13 июля 2020

Вы можете использовать Object.keys() и Array.map(), чтобы получить результат:

var dict = {
"key1" : 100,
"key2" : 200,
"key3" : 300
}

let result = Object.keys(dict).map(k => ({[k]: dict[k]}));
console.log(result);
1 голос
/ 13 июля 2020

вы можете использовать Object.entries и map для создания key value объектов

var dict = {
  "key1" : 100,
  "key2" : 200,
  "key3" : 300
  }

  const re=Object.entries(dict).map(o=>({[o[0]]:o[1]}))
  console.log(re)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...