在 JavaScript 中,您可以这样做:
var a = null;
var b = "I'm a value";
var c = null;
var result = a || b || c;
而 'result' 将得到 'b' 的值,因为 JavaScript 短路了 'or' 运算符。
我想在 ColdFusion 中使用单行习语来做到这一点,我能想到的最好的方法是:
<cfif LEN(c) GT 0><cfset result=c></cfif>
<cfif LEN(b) GT 0><cfset result=b></cfif>
<cfif LEN(a) GT 0><cfset result=a></cfif>
谁能比这做得更好?
最佳答案
ColdFusion 没有空值。
您的示例基于哪个项目是空字符串的选择。
如果这是您所追求的,并且所有其他值都是简单值,您可以这样做:
<cfset result = ListFirst( "#a#,#b#,#c#" )/>
(这是因为标准列表函数忽略了空元素。)
关于ColdFusion:从列表中选择第一个非空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/155435/