这看起来应该是一个简单的问题,但是当谈到数组时,CF似乎有不同的方法来完成同样的事情,所以我想确保我以最好的方式做到这一点;
我有一个简单的cfoutput;
<cfoutput query="getusers">
Username: #username# ID:#fnid#
</cfoutput>
我也在页面的其他地方使用cfwebsocket,'fnid'(这是一个session.auth变量)的值是订阅的一部分。 wsGetSubscribers的转储给了我以下内容;
我想要做的是在'getusers'查询输出期间,检查subscriberinfo.fndid下的FNID是否存在 - 目标是添加一个注释,表示用户在该点订阅
我知道我可以使用cfloop做到这一点,但这看起来很长!
答案 0 :(得分:1)
我想避免的是必须在cfoutput查询中使用cfloop(在数组上)
所以你想要{this.props.match.params.id}
进行一次查找?怎么样:
fnId
CF10 +也有arrayEach()
,如果你喜欢<cfset subscribersById = StructNew()>
<cfloop array="#wsGetSubscribers()#" index="subsciption">
<cfset subscribersById[subsciption.subscriberInfo.fnId] = subsciption>
</cfloop>
<cfoutput query="getusers">
Username: #username# ID: #fnid# Subscribed: #StructKeyExists(subscribersById, fnid)#
</cfoutput>
上的这种语法。