select 键入数组对象的优雅方式
Elegant way to select key in object of an array
考虑以下 json
[
{'key1': { ... }},
{'key2': { ... }},
{'key3': { ... }}
]
我想以一种优雅的方式提取这些对象的键,下面的代码可以工作,但对我来说似乎很难看。
let result = objects.map(o => Object.keys(o))[0]
最后的[0]
因为返回值是array
的数组
数组只能保存值,对象保存 key/value 对。在实际操作数据之前不要忘记使用 JSON.parse(json)
。
我猜您需要以下内容:
const list = [
{1: "one"},
{2: "two"},
{3: "three"}
];
我编辑了你的JSON。
const data = [
{ 'key2': { }} ,
{'key1': { }},
{'key3': { }}
];
const result = [].concat.apply([], data.map(Object.keys));
console.log(result);
您可以使用 .concat()
和 .map()
方法来获得所需的结果:
let data = [
{'key1': { }},
{'key2': { }},
{'key3': { }}
];
let result = [].concat(...data.map(Object.keys));
console.log(result);
参考文献:
考虑以下 json
[
{'key1': { ... }},
{'key2': { ... }},
{'key3': { ... }}
]
我想以一种优雅的方式提取这些对象的键,下面的代码可以工作,但对我来说似乎很难看。
let result = objects.map(o => Object.keys(o))[0]
最后的[0]
因为返回值是array
数组只能保存值,对象保存 key/value 对。在实际操作数据之前不要忘记使用 JSON.parse(json)
。
我猜您需要以下内容:
const list = [
{1: "one"},
{2: "two"},
{3: "three"}
];
我编辑了你的JSON。
const data = [
{ 'key2': { }} ,
{'key1': { }},
{'key3': { }}
];
const result = [].concat.apply([], data.map(Object.keys));
console.log(result);
您可以使用 .concat()
和 .map()
方法来获得所需的结果:
let data = [
{'key1': { }},
{'key2': { }},
{'key3': { }}
];
let result = [].concat(...data.map(Object.keys));
console.log(result);
参考文献: