Получить ключи из объекта массива
Всем привет.
Имеется массив с объектами. Задача: Получить ключи значений из объекта. Пытаюсь решить через 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])
)
);