综合技术

javascript – 从对象数组中获取所有唯一对象属性

微信扫一扫,分享到朋友圈

javascript – 从对象数组中获取所有唯一对象属性
0

让我们想象一下我有一系列对象,例如:

[{
    "firstName": "John",
    "lastName": "Doe"
 }, {
    "firstName": "Anna",
    "car": true
 }, {
    "firstName": "Peter",
    "lastName": "Jones"
 }]

我想从这个对象数组中获取所有唯一的属性名称,因此结果将是:

[firstName, lastName, car]

我该怎么做:

我可以想象用这样的东西可以做到这一点:

function getPropertiesNames(obj){
  var arr = [];
  for(var name in obj) {
    if(arr.indexOf(name) != -1) arr.push(name);
  }
 return arr;
}

为什么我需要它:

我将不得不制作一个包含多个对象的表格.因为每个对象可能有点不同,所以我需要唯一的属性名称.但是我要在angularJS中这样做,所以对于我来说,使用循环来获取

的属性名称是一个不错的选择.并再一次使用循环与

显示值.

我想要的是:

是否有一些选项可以从一个对象数组中获取所有唯一属性名称而无需迭代它?也许一些lodash或构建JS功能,我不知道?

仅使用的解决方案:

>
Object.assign

>
Object.keys

>
Array.prototype.reduce

var data = [{
  "firstName": "John",
  "lastName": "Doe"
}, {
  "firstName": "Anna",
  "car": true
}, {
  "firstName": "Peter",
  "lastName": "Jones"
}];

var uniqueKeys = Object.keys(data.reduce(function(result, obj) {
  return Object.assign(result, obj);
}, {}))

console.log(uniqueKeys);

翻译自:https://stackoverflow.com/questions/39248687/get-all-unique-object-properties-from-array-of-objects

阅读原文...


代码日志

登台证明黎曼猜想三个月后,89岁数学大师阿蒂亚爵士逝世

上一篇

Roadmap to become an awesome open source contributor in 2019

下一篇

您也可能喜欢

评论已经被关闭。

插入图片
javascript – 从对象数组中获取所有唯一对象属性

长按储存图像,分享给朋友