Получить ключи из объекта массива

Всем привет.

Имеется массив с объектами. Задача: Получить ключи значений из объекта. Пытаюсь решить через Object.key, получаю ключи самих объектов.

Вот код:

Object.keys(data).forEach((key) => {
       console.log(key);
       }

Ответы (3 шт):

Автор решения: BioStunt

По заданию есть массив объектов:

let array = [{a: 1}, {b: 1}, {c : 3}];

Нам необходимо получить ключи объектов в массиве, для этого используем функцию массива - reduce:

let keys = array.reduce((container, obj) => [...container, ...Object.keys(obj)], []);

Тем самым получаем все ключи, присутствующие в каждом объекте из массива. Так же можем получить уникальные ключи (массив ключей без дубликатов), используя Set:

let uniqueKeys = [...new Set(keys)];
→ Ссылка
Автор решения: IvaMuxa

Вы получаете ключи самих объектов потому что перебираете ключи массива, а нужно перебирать ключи самих элементов массива, для этого можно пройтись по ним с помощью цикла (for..of)

let data = [{
  o1k1: 1,
  o1k2: 2
}, {
  o2k1: 1,
  o2k2: 2
}];

for (obj of data) {
  Object.keys(obj).forEach((key) => {
    console.log(key);
  })
  console.log("---");
}

→ Ссылка
Автор решения: Lordar

const data = [
  {"a":"aaa", "x":"xxx"},
  {"b":"bbb", "x":"xxx"},
  {"c":"ccc", "x":"xxx"}];

// перебираем ключи свех объектов в массиве
data.forEach(
  obj => Object.keys(obj).forEach(
    key => console.log(key, obj[key])
  )
);

→ Ссылка