我使用lodash _find来循环遍历一个数组,但我无法做到的,就是当条件满足时,我想返回一个特定的数组子元素。
private getTaskForPersonAndDay(personalId: number, day: moment.Moment) {
return _.find(this.tasks, a => a.personalId === personalId && a.date === day.valueOf());
}
和tasks
的结构如下:
export interface tasks{
id: string;
personalId: number;
date: number;
task: Array<Interfaces.taskList>;
}
所以基本上这会返回与用户ID匹配的整个数组以及该任务的安排日期。
但我想要的是在task
tasks
因为我将使用此函数的返回来填充数组,结构如下:
task: Interfaces.taskList;
所以它必须返回一个类型Interfaces.taskList
而不是Interfaces.tasks
,就像它现在返回一样!
你怎么能这样做?
非常感谢
答案 0 :(得分:1)
保存对返回的tasks
的引用,如果找到匹配项,则返回task
属性:
private getTaskForPersonAndDay(personalId: number, day: moment.Moment) : Interfaces.taskList[] {
const tasks = _.find(this.tasks, a => a.personalId === personalId && a.date === day.valueOf());
return tasks ? tasks.task : null;
}