繁体   English   中英

将对象数组内的每个对象的键获取到数组中:Javascript

[英]Getting key of each object inside array of objects into an array: Javascript

我有以下格式的对象

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); 

通过扩展到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); 

我将.map并提取要迭代的对象的Object.keys中的第一项:

 var obj = [{ "a": 1 }, { "b": 2 }, { "c": 3 }]; const result = obj.map(inner => Object.keys(inner)[0]); console.log(result); 

您可以使用Object.assignspread(...)运算符来解决此问题

 var mainObj = [{"a":1},{"b":2},{"c":3},{"23":1},{"32b":2},{"232c":3}]; const allKeys = Object.keys(Object.assign({}, ...mainObj)); console.log(allKeys); 

您可以简单地使用.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)
        });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM