我有一个清单:
我想知道其中一个名字出现在该名单中的频率。
像:
我该怎么做(顺便说一下我真的很新,所以这是一个初学者问题)
答案 0 :(得分:9)
您可loop
超过list
,可以使用names as key
及其count as values
创建一个结构:
<cfset names = "Mike,Peter,Marshall,Mike,Peter,Mike,Peter,Marie,John,Peter,Marshall,Mike,Steven">
<cfset nameCount = structNew()>
<cfloop list="#names#" index="currentName" delimiters=",">
<cfif structKeyExists(nameCount, currentName)>
<cfset nameCount[currentName] += 1>
<cfelse>
<cfset nameCount[currentName] = 1>
</cfif>
</cfloop>
答案 1 :(得分:1)
Beginner的答案为您提供了一个结构,其中包含列表中每个项目的出现次数。
如果您想知道此列表中任意字符串的出现频率,您可以使用内置函数listValueCount(list, value)
和listValueCountNoCase(list, value)
。
<cfset names = "Mike,Peter,Marshall,Mike,Peter,Mike,Peter,Marie">
<!--- x = 3 --->
<cfset x = listValueCount(names, "Mike")>
<!--- x = 0 --->
<cfset x = listValueCount(names, "Steve")>