查询后我有一个这样的对象。我需要根据年份进行过滤。
这是我的对象。
(6) [{…}, {…}, {…}, {…}, {…}, {…}]
0: {title: "PERSONAL", subtitle: "The standard version", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", year: "2018", …}
1: {title: "STUDENT", subtitle: "Most popular choice", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", year: "2017", …}
2: {title: "BUSINESS", subtitle: "For the whole team", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", year: "2018", …}
我使用以下代码进行过滤。
users = {};
ngOnInit() {
this.users.filter((user) => user.year == '2018');
}
但是我得到error TS2339: Property 'filter' does not exist on type '{}'.
有人可以帮助我解决此问题吗?
答案 0 :(得分:1)
如果您已将上述对象分配给用户。
users: any;
users =[{…}, {…}, {…}, {…}, {…}, {…}];
然后删除此行
// users = {}; remove this line it will work
ngOnInit() {
this.users.filter((user) => user.year == '2018');
}
您的分配对象已经是Array变量
答案 1 :(得分:0)
users是object类型。 过滤方法仅在数组对象中支持
此外,this.user在哪里初始化?
答案 2 :(得分:0)
您不能在对象上应用filter
users = [ {year: '2000'}, {year: '2018'} ];
ngOnInit() {
this.users.filter((user) => user.year == '2018');
}
这将起作用