在结构数组中查找值

Pat*_*Pat 3 coldfusion cfml

这可能之前有人问过,但没有完全找到......或者我发现的是旧的。

我有一个像这样的结构数组:

在此处输入图片说明

是不是有一个 CFML 函数可以让我检查“test@email.com”是否已经存在于“toAddress”的任何结构下?我显然可以循环我的数组,如果找到则检查并中断,但想知道是否已经存在某些东西?

谢谢你。拍

Sco*_*roz 5

您可以arrayFind()与回调函数一起使用。使用上面的数据结构并假设数组已命名myArray

if( 
    !arrayFind( myArray, function( item ){
        return item.toAddress == 'test@email.com'
    })
){
    // do stuff if address is not used.
}
Run Code Online (Sandbox Code Playgroud)

  • `arrayFind()` 返回与您在回调中提供的逻辑匹配的第一个索引。我不确定内部逻辑,但似乎在找到第一个元素后它就会中断。测试这一点的一种方法是添加一个 writeDump() 来将电子邮件转储到回调中,以查看它是否输出所有邮件。 (2认同)