我有一个具有以下格式的对象
var obj = [{
"a": 1
}, {
"b": 2
}, {
"c": 3
}];
只想从该对象数组中的每个对象中提取键到新数组中
类似这样的事情:
["a","b","c"]
尝试了以下方法,但不起作用:
var obj = [{
"a": 1
}, {
"b": 2
}, {
"c": 3
}];
let result = obj.map (({ val }) => val)
console.log(result);
答案 0 :(得分:3)
通过扩展到Object.assign()
合并到单个对象,然后获取密钥:
var obj = [{"a":1},{"b":2},{"c":3}];
const result = Object.keys(Object.assign({}, ...obj));
console.log(result);
或将Array.flatMap()
与Object.keys()
一起使用:
var obj = [{"a":1},{"b":2},{"c":3}];
const result = obj.flatMap(Object.keys);
console.log(result);
答案 1 :(得分:1)
我会.map
并提取要迭代的对象的Object.keys
中的第一项:
var obj = [{
"a": 1
}, {
"b": 2
}, {
"c": 3
}];
const result = obj.map(inner => Object.keys(inner)[0]);
console.log(result);
答案 2 :(得分:1)
您可以使用Object.assign
和spread(...)
运算符来解决此问题
var mainObj = [{"a":1},{"b":2},{"c":3},{"23":1},{"32b":2},{"232c":3}];
const allKeys = Object.keys(Object.assign({}, ...mainObj));
console.log(allKeys);
答案 3 :(得分:1)
您可以简单地使用.map()打开数组,然后使用Object.keys从对象返回键。 请参考我所做的示例。希望对您有帮助
https://www.w3schools.com/code/tryit.asp?filename=G66AEBM9ZJCD
let object1 = [{a:1,b:2,c:3}]
let final = object1.map(function(object){
return Object.keys(object)
});