2017-11-02 4 views
1

私はこのコードを使用して、配列をソートするlodashを使用しています:lodash sortByを使用しているときに値が存在するかどうかをチェックする方法?

this.employees = _.orderBy(this.employees, [employee => employee.acf.user_department.name], [order]); 

この値のデータが存在しない場合には失敗し、その値は/が未定義の値を扱う存在する場合どのように私は確認することができますか?

私はこれらの派手な矢印機能を使用する方法を学んでいるので、説明にES6の方法を含めることができればいいと思います。

+0

あなたはデモの従業員の配列を置くことができますか? –

答えて

0

使用lodashの_.get() - エラーの代わりにあなたがundefinedか、デフォルト値(第三引数)を取得し、それはパス(第2引数)を繰り返すことができ、パスの一部が欠落している場合:

_.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>

あなたのソート方法(デフォルトは空文字列):

this.employees = _.orderBy(this.employees, [employee => _.get(employee, 'employee.acf.user_department.name', '')], [order]); 
関連する問題