[英]How to get the unique keys of an array of object by underscore?
我有一个对象array
,并希望通过下划线获取唯一键,我该怎么做?
Array[ Object{a: 1, b: 2}, Object{b: 3, c: 4, d: 5} ]
我想得到:
Array[ "a", "b", "c", "d" ]
另外一个选项:
keys = _.keys(_.extend.apply({}, array))
使用Spread运算符的 纯ES6解决方案 。
Object.keys({...objA, ...objB});
背景
它获取项目的属性( objA
, objB
)并“解开”它们,然后它将这些属性组合成一个对象(参见{ }
)。 然后我们取结果的关键。
TypeScript转换输出(ES5):
// Helper function
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
// Compile output
// Note that it's NOT lodash or underscore but the helper function from above
Object.keys(__assign({}, objA, objB));
使用_.keys()获取对象中的所有键
var result = [];
_.each(obj, function(prop){
var temp = _.keys(prop);
_.each(temp, function(value){
result.push(value);
})
});
console.log(result);
_.contains([],value)检查值是否在数组中退出并返回'true'(如果存在); 'false',否则。以下是用于消除重复键,然后将键推送到结果数组。
var result = [];
_.each(obj, function(prop){
var temp = _.keys(prop);
_.each(temp, function(value){
var flag = _.contains(result, value);
if(!flag){
result.push(value);
}
});
});
console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.