【发布时间】:2021-04-07 16:57:33
【问题描述】:
这可能以前被问过,但没找到……或者我发现的东西很旧。
我有一个这样的结构数组:
是否有一个 CFML 函数可以让我检查“test@email.com”是否已经存在于任何结构“toAddress”下?我显然可以循环我的数组,如果找到就检查并中断,但想知道是否已经存在为此?
谢谢。 帕特
【问题讨论】:
标签: coldfusion cfml
这可能以前被问过,但没找到……或者我发现的东西很旧。
我有一个这样的结构数组:
是否有一个 CFML 函数可以让我检查“test@email.com”是否已经存在于任何结构“toAddress”下?我显然可以循环我的数组,如果找到就检查并中断,但想知道是否已经存在为此?
谢谢。 帕特
【问题讨论】:
标签: coldfusion cfml
您可以将arrayFind() 与回调函数一起使用。使用上面的数据结构并假设数组名为myArray
if(
!arrayFind( myArray, function( item ){
return item.toAddress == 'test@email.com'
})
){
// do stuff if address is not used.
}
【讨论】:
arrayFind() 返回与您在回调中提供的逻辑匹配的第一个索引。我不确定内部逻辑,但似乎在找到第一个元素后它会中断。对此进行测试的一种方法是添加writeDump() 以将电子邮件转储到回调中,以查看它是否输出所有电子邮件。
arrayFind() 将在找到第一个实例后停止查找。这是一个相当有效的功能。 trycf.com/gist/af2e5fe9253fab408c6c21cfa490a6ae/…