尝试使用 Lodash 对对象数组进行分组以获得独特的属性
但是undefined如果属性不存在,它就像唯一的属性
有没有办法避免它?只留下现有的属性?
所以我将只实现,My Office 1但通过我的解决方案获取
undefined和My Office 1
示例数组
[
{office: null},
{office:
{
name: 'My Office 1'
}
}
]
Run Code Online (Sandbox Code Playgroud)
代码
Object.keys(_.groupBy(arr, 'office.name')).map((office, index) { ... }
Run Code Online (Sandbox Code Playgroud)
Ser*_*Pie 10
您可以过滤掉没有路径的对象。
let objects = [
{office: null},
{office: {name: 'My Office 1'}},
{office: {name: 'My Office 2'}},
{office: {name: 'My Office 1'}},
];
let path = 'office.name';
let grouped = _(objects)
.filter(object => _.has(object, path))
.groupBy(path)
.value();
console.log(grouped);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3570 次 |
| 最近记录: |