Angular.js -如何使用过滤器检查一个字符串是否包含在一个数组对象中

Angular.js - How do I check to see if a string is contained within an array object using a filter?

本文关键字:一个 包含 是否 数组 对象 字符串 js 何使用 检查 Angular 过滤器      更新时间:2023-09-26

我正在使用Angular和Firebase创建一个应用程序,允许用户发布新话题进行讨论,以及对现有话题进行投票。

用户登录时,其用户名存储在currentUser.username中。如果他们支持了一个话题,那么他们的用户名也会出现在topic.upvotes中。

我遇到的问题是主题。Upvotes正在存储一个值数组。所以如果Kenneth和Tyler都点赞了一个话题,topic.upvotes = {"Kenneth":"Kenneth","Tyler":"Tyler"}

所有我需要知道的是,如果一个用户已经投票了一个主题,这样我就可以应用一些条件CSS给他们视觉反馈,他们已经对该主题进行了投票。

我一直在尝试这样做:

ng-class="{user_has_upvoted : signedIn() && topic.upvotes === currentUser.username}"

我的意图是只在用户都登录并且他们实际上支持该主题时才将user_has_upvoted类应用于div。

但显然话题。upvotes(一个数组)不==或=== currentUser。用户名(字符串)。

我希望有一些方法可以使用某种类型的inharry()函数,但是angular没有任何我发现可以工作的东西。

任何建议吗?谢谢!

use this:

ng-class="{user_has_upvoted : signedIn() && topic.upvotes[currentUser.username].localeCompare(currentUser.username) === 0}"