profile.team_member_designationsが配列の場合、以下のコードが実行されます。フィルタリングする条件を追加したい、あるいはprofile_member_designationsが配列であるかどうかをチェックしたいのです。なぜなら、文字列ならコードを実行したくないからです。基本的には、マップ関数の直前で、コードを実行するための配列だけを除外したいと考えています。これはどうすればいいですか?私の関数内の配列をアンダースコアでフィルタリングしますか?
JS
var getTeamDesignations = function(profile) {
//Designations for a single team member
var teamDesignations = [];
if (profile.team_members) {
teamDesignations = _.chain(profile.team_members)
.map(_.property('team_member_designations'))
.flatten()
.uniq()
.value();
}
return teamDesignations;
};
コードには「profile.team_member_designations」はありません。しかし、最も簡単な方法は 'typeof'演算子を使うことです:http://stackoverflow.com/q/6286542/215552 –
' if(profile.team_members && Array.isArray(profile.team_members.team_member_designations)){... ' – adeneo