类型“ {}”不存在属性“过滤器”

时间:2018-12-10 04:50:29

标签: angular6

查询后我有一个这样的对象。我需要根据年份进行过滤。

这是我的对象。

(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 '{}'.

有人可以帮助我解决此问题吗?

3 个答案:

答案 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');
}

这将起作用