在ColdFusion 8中是否有类似于ColdFusion 9中的ArrayFind的函数?

Dar*_*ren 4 arrays coldfusion

我在工作时与另一位程序员交谈,我们使用ColdFusion.他告诉我只是在一个数组中查找一个值,我必须做一个完整的循环?是否真的在ColdFusion 8中没有函数来简单地在数组中查找值?

ora*_*ips 12

arrayFind()在ColdFusion 8中不存在.但是,您不需要循环.有两种方法:

利用ColdFusion数组实现java.util.List接口的事实:

<cfset valueToFind = 1>
<cfset array = [1,2,3]>
<!--- add one because CF does 1 based vs. Java 0 based arrays --->
<cfset position = array.indexOf(valueToFind) + 1> 
Run Code Online (Sandbox Code Playgroud)

使用列表操作:

<cfset valueToFind = 1>
<cfset array = [1,2,3]>
<cfset position = listFind(arrayToList(array), valueToFind)>
Run Code Online (Sandbox Code Playgroud)

第一个(Java List)方法更快.