Вы можете использовать map()
и получить все значения первого объекта в каждом массиве, используя Object.keys
Примечание: Приведенный ниже метод получит только ключи первого объекта внутри каждого массива.
let specs = {source1:[{key1:'value2', key2:'value2', key3:'value3'}, {key1:'value4', key2:'value5', key3:'value6'}],
source2:[{key4:'value7', key5:'value8', key6:'value9'}, {key4:'value10', key5:'value11', key6:'value12'}]};
const keys = Object.fromEntries(
Object.entries(specs)
.map(([k, v]) => [k, Object.keys(v[0])])
);
console.log(keys)
Если вы хотите получить все уникальные ключи от каждого элемента массива, используйте следующий метод
let specs = {source1:[{key1:'value2', key2:'value2', key3:'value3'}, {key1:'value4', extra1:'value5', key3:'value6'}],
source2:[{key4:'value7', key5:'value8', key6:'value9'}, {key4:'value10', extra2:'value11', key6:'value12'}]};
const keys = Object.fromEntries(
Object.entries(specs)
.map(([k, v]) => [k, [...new Set(v.flatMap(x => Object.keys(x)))]])
);
console.log(keys)