Элегантный способ выделить ключ в объекте массива - PullRequest
0 голосов
/ 05 сентября 2018

Рассмотрим следующий json

[
{'key1': { ... }},
{'key2': { ... }},
{'key3': { ... }}
]

Я хочу изящно извлечь ключи для этих объектов, работает следующий код, но мне он кажется уродливым.

let result = objects.map(o => Object.keys(o))[0]

[0] в конце, потому что возвращаемое значение является массивом массива

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Я отредактировал ваш JSON.

const data = [
  { 'key2': {  }} ,
  {'key1': {  }},
  {'key3': {  }}
];

const result = [].concat.apply([], data.map(Object.keys));
console.log(result);
0 голосов
/ 05 сентября 2018

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

let data = [
  {'key1': { }},
  {'key2': { }},
  {'key3': { }}
];

let result = [].concat(...data.map(Object.keys));

console.log(result);

Ссылка:

0 голосов
/ 05 сентября 2018

Массив может содержать только значения, объекты содержат пары ключ / значение. Не забудьте использовать JSON.parse(json) перед фактической обработкой данных.

Полагаю, вам нужно что-то вроде:

const list = [
    {1: "one"},
    {2: "two"}, 
    {3: "three"}
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...