我正在尝试过滤类型为 object 的数组,以获取指定的每个值的总数。
我的对象如下:
export class Member {
public firstName: string;
public lastName: string;
public email: string;
}
我的数组定义为:members: Member[] = []
。然后用 Member
对象填充,来自 .csv
上传。我需要确保csv中没有丢失的字段,所以我的方法如下:
获取具有名字、姓氏和电子邮件的项目数。
const firstNames = this.members.filter(item => item.firstName != null).length;
const lastNames = this.members.filter(item => item.lastName != null).length;
const emails = this.members.filter(item => item.email != null).length;
但是,我收到错误 ERROR TypeError: this.members.filter is not a function
。
我看到有人说 .filter()
在列表上不起作用,但我不是声明了一个数组吗?
数据分配给 members
如下:
this.uploader.response.subscribe(res => {
const handledResponse = this.memberService.handleUploaderResponse(res); this.error = '';
this.members = handledResponse as Member[];
this.finalUploadCheck(); });