我使用lodash对数组进行排序,使用以下代码:
this.employees = _.orderBy(this.employees, [employee => employee.acf.user_department.name], [order]);
如果此值没有数据,则失败,那么如何检查值是否存在/处理未定义的值?
我试图学会使用这些花哨的箭头功能,所以如果解释可以包含如何以ES6方式进行操作会很好。
答案 0 :(得分:0)
使用lodash' s _.get()
- 它可以迭代路径(第二个arg),如果路径的一部分丢失,而不是错误,则获得undefined
或默认值(第3个arg):
_.get(employee, 'employee.acf.user_department.name', null)
示例:强>
const employee = {};
const result = _.get(employee, 'employee.acf.user_department.name', 'I\'m the default'); // the 3rd param is a default value
console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
&#13;
在你的sort方法中(默认为空字符串):
this.employees = _.orderBy(this.employees, [employee => _.get(employee, 'employee.acf.user_department.name', '')], [order]);