Seb*_*ski 1 javascript arrays javascript-objects
我正在寻找与此类似的东西:
const object1 = {
a: 1,
b: 2,
c: 3
};
console.log(Object.getOwnPropertyNames(object1));
// expected output: Array ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)
然而在我的例子中我有:
const objectArray1 = [
{ a: 112, b: 322, c: 233 },
{ a: 611, b: 232, c: 331 },
{ a: 132, b: 232, c: 342 }
];
Run Code Online (Sandbox Code Playgroud)
["a", "b", "c"]从中获得最有效的方法是什么?
此外,这可能永远不会发生,但如果其中一个objectArray1对象包含d: 345或缺少键/值对,则需要进行处理。
有任何想法吗?
使用和将的所有条目映射objectArray1到对象的键,以获得所有对象中所有键的平面数组。
然后将其传递给 a以提取唯一值。可以使用扩展运算符将其转换回数组:Object.keysflatMapSetSet...
const objectArray1 = [
{ a: 112, b: 322, c: 233 },
{ a: 611, b: 232, c: 331 },
{ a: 132, b: 232, c: 342 },
{ a: 132, b: 232, c: 342, d: 532 }
];
const keys = [
...new Set(objectArray1.flatMap(Object.keys))
];
console.log(keys)Run Code Online (Sandbox Code Playgroud)